f8ce705323
* Fri Feb 09 2024 Andrea Claudi <aclaudi@redhat.com> - 6.7.0-1.f40 - New version 6.7.0 (Andrea Claudi) [2247875] - Fix FTBFS on ppc64le (Andrea Claudi) [2261250] - Remove libdb-devel dependency from iproute [1788538] - Enable color output by default [2239120] Resolves: rhbz#2247875, rhbz#2261250, rhbz#1788538, #rhbz2239120 Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
67 lines
2.7 KiB
Diff
67 lines
2.7 KiB
Diff
From ac4e9bd66d9c8461024dfd3698e120c678eb6cfc Mon Sep 17 00:00:00 2001
|
||
Message-ID: <ac4e9bd66d9c8461024dfd3698e120c678eb6cfc.1707519557.git.aclaudi@redhat.com>
|
||
From: Andrea Claudi <aclaudi@redhat.com>
|
||
Date: Fri, 9 Feb 2024 23:56:20 +0100
|
||
Subject: [PATCH] iproute2: fix build failure on ppc64le
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2261250
|
||
Upstream Status: posted upstream
|
||
|
||
commit d13ef7c00b60a50a5e8ddbb7ff138399689d3483
|
||
Author: Andrea Claudi <aclaudi@redhat.com>
|
||
Date: Fri Feb 9 10:44:55 2024 +0100
|
||
|
||
iproute2: fix build failure on ppc64le
|
||
|
||
ppc64le build fails with error on ifstat.c when
|
||
-Wincompatible-pointer-types is enabled:
|
||
|
||
ifstat.c: In function ‘dump_raw_db’:
|
||
ifstat.c:323:44: error: initialization of ‘long long unsigned int *’ from incompatible pointer type ‘__u64 *’ {aka ‘long unsigned int *’} [-Wincompatible-pointer-types]
|
||
323 | unsigned long long *vals = n->val;
|
||
|
||
Several other warnings are produced when -Wformat= is set, for example:
|
||
|
||
ss.c:3244:34: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
|
||
3244 | out(" rcv_nxt:%llu", s->mptcpi_rcv_nxt);
|
||
| ~~~^ ~~~~~~~~~~~~~~~~~
|
||
| | |
|
||
| | __u64 {aka long unsigned int}
|
||
| long long unsigned int
|
||
| %lu
|
||
|
||
This happens because __u64 is defined as long unsigned on ppc64le. As
|
||
pointed out by Florian Weimar, we should use -D__SANE_USERSPACE_TYPES__
|
||
if we really want to use long long unsigned in iproute2.
|
||
|
||
This fix the build failure and all the warnings without any change on
|
||
the code itself.
|
||
|
||
Suggested-by: Florian Weimer <fweimer@redhat.com>
|
||
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
|
||
|
||
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
|
||
---
|
||
Makefile | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
diff --git a/Makefile b/Makefile
|
||
index 8024d45e..3b9daede 100644
|
||
--- a/Makefile
|
||
+++ b/Makefile
|
||
@@ -60,7 +60,7 @@ CC := gcc
|
||
HOSTCC ?= $(CC)
|
||
DEFINES += -D_GNU_SOURCE
|
||
# Turn on transparent support for LFS
|
||
-DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
|
||
+DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__SANE_USERSPACE_TYPES__
|
||
CCOPTS = -O2 -pipe
|
||
WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes
|
||
WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2
|
||
--
|
||
2.43.0
|
||
|