]> git.pld-linux.org Git - packages/libkcapi.git/blame - libkcapi-32bit.patch
upstream patch to fix build with gcc11 on 32bit archs
[packages/libkcapi.git] / libkcapi-32bit.patch
CommitLineData
143edc46
JP
1From 299e5e8c38de9be99b86885c1af60dd5e1cc9888 Mon Sep 17 00:00:00 2001
2From: Ondrej Mosnacek <omosnace@redhat.com>
3Date: Mon, 17 May 2021 22:19:32 +0200
4Subject: [PATCH] docproc: fix -Wconversion warnings on 32-bit
5
6On i686, GCC 11.1.1 complains:
7```
8lib/doc/bin/docproc.c: In function 'find_all_symbols':
9lib/doc/bin/docproc.c:433:17: error: conversion to 'ssize_t' {aka 'int'} from 'unsigned int' may change the sign of the result [-Werror=sign-conversion]
10 433 | start = all_list_len;
11 | ^~~~~~~~~~~~
12lib/doc/bin/docproc.c:441:48: error: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'unsigned int' [-Werror=sign-compare]
13 441 | for (i = 0; i < (int)data_len && start != all_list_len; i++) {
14 | ^~
15cc1: all warnings being treated as errors
16```
17
18Fix this by declaring all of all_list_len, i, count, and start as
19size_t and remove a few casts that are no longer necessary.
20
21Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
22Signed-off-by: Stephan Mueller <smueller@chronox.de>
23---
24 lib/doc/bin/docproc.c | 14 +++++++-------
25 1 file changed, 7 insertions(+), 7 deletions(-)
26
27diff --git a/lib/doc/bin/docproc.c b/lib/doc/bin/docproc.c
28index 556d5d4..74b3cdb 100644
29--- a/lib/doc/bin/docproc.c
30+++ b/lib/doc/bin/docproc.c
31@@ -77,11 +77,11 @@ FILELINE * docsection;
32 static char *srctree, *kernsrctree;
33
34 static char **all_list = NULL;
35-static unsigned int all_list_len = 0;
36+static size_t all_list_len = 0;
37
38 static void consume_symbol(const char *sym)
39 {
40- unsigned int i;
41+ size_t i;
42
43 for (i = 0; i < all_list_len; i++) {
44 if (!all_list[i])
45@@ -361,11 +361,11 @@ static void find_all_symbols(char *filename)
46 {
47 char *vec[4]; /* kerneldoc -list file NULL */
48 pid_t pid;
49- ssize_t ret, i, count, start;
50+ ssize_t ret;
51 char real_filename[PATH_MAX + 1];
52 int pipefd[2];
53 char *data, *str;
54- size_t data_len = 0;
55+ size_t i, count, start, data_len = 0;
56
57 vec[0] = KERNELDOC;
58 vec[1] = LIST;
59@@ -424,21 +424,21 @@ static void find_all_symbols(char *filename)
60
61 count = 0;
62 /* poor man's strtok, but with counting */
63- for (i = 0; i < (int)data_len; i++) {
64+ for (i = 0; i < data_len; i++) {
65 if (data[i] == '\n') {
66 count++;
67 data[i] = '\0';
68 }
69 }
70 start = all_list_len;
71- all_list_len += (unsigned int)count;
72+ all_list_len += count;
73 all_list = realloc(all_list, sizeof(char *) * all_list_len);
74 if (!all_list) {
75 perror("realloc");
76 exit(1);
77 }
78 str = data;
79- for (i = 0; i < (int)data_len && start != all_list_len; i++) {
80+ for (i = 0; i < data_len && start != all_list_len; i++) {
81 if (data[i] == '\0') {
82 all_list[start] = str;
83 str = data + i + 1;
This page took 0.109987 seconds and 4 git commands to generate.