trinity: fix build with kernel headers v4.19
PATCH 1/1 trinity: fix build with kernel headers v4.19
Kernel v4.19 introduced a change in linux/rds.h UAPI header that causes networking definitions collision with libc headers. Add a patch fixing that be reordering the include list.
Fixes:
http://autobuild.buildroot.net/results/b30/b30993de10c909602ec2e9098a91e400fa9c91f6/
http://autobuild.buildroot.net/results/96d/96deb94e5f959c844060d449fae5668c5f3c5571/
http://autobuild.buildroot.net/results/c7a/c7aa75fd8faad7ac49492497807d1a7fe4c4f955/
--- ...s-include-libc-network-headers-first.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/trinity/0006-proto-rds-include-libc-network-headers-first.patch
package/trinity/0006-proto-rds-include-libc-network-headers-first.patch new file +48 -0
@@ -0,0 +1,48 @@ +From 350c05e5c0d7af5941a9c17f2f86e1c6297d7475 Mon Sep 17 00:00:00 2001 +From: Baruch Siach <[email protected]> +Date: Wed, 12 Dec 2018 20:52:50 +0200 +Subject: [PATCH] proto-rds: include libc network headers first + +To avoid collisions between libc networking headers and header kernels +the libc headers must appear first in the list of headers. This fixes a +build issue with kernel headers v4.19: + +In file included from include/net.h:5:0, + from net/proto-rds.c:6: +.../sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' + struct in6_addr { + ^~~~~~~~ +In file included from .../sysroot/usr/include/linux/rds.h:40:0, + from net/proto-rds.c:4: +.../sysroot/usr/include/linux/in6.h:33:8: note: originally defined here + struct in6_addr { + ^~~~~~~~ + +Signed-off-by: Baruch Siach <[email protected]> +--- +Upstream status: https://github.com/kernelslacker/trinity/pull/29 + + net/proto-rds.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/proto-rds.c b/net/proto-rds.c +index c8ff22f886c3..06e36e82d990 100644 +--- a/net/proto-rds.c ++++ b/net/proto-rds.c +@@ -1,12 +1,12 @@ + #ifdef USE_RDS + #include <sys/socket.h> + #include <stdint.h> +-#include <linux/rds.h> + #include <stdlib.h> + #include "net.h" + #include "compat.h" + #include "random.h" + #include "utils.h" // RAND_ARRAY ++#include <linux/rds.h> + + static void rds_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) + { +-- +2.19.2 +
Signature · 1 line
2.19.2
Thomas Petazzoni
AppliedPATCH 1/1 trinity: fix build with kernel headers v4.19
Hello,
Quoted 9 lines · Baruch Siach
Kernel v4.19 introduced a change in
linux/rds.hUAPI header that causes networking definitions collision with libc headers. Add a patch fixing that be reordering the include list.Fixes:
http://autobuild.buildroot.net/results/b30/b30993de10c909602ec2e9098a91e400fa9c91f6/
http://autobuild.buildroot.net/results/96d/96deb94e5f959c844060d449fae5668c5f3c5571/
http://autobuild.buildroot.net/results/c7a/c7aa75fd8faad7ac49492497807d1a7fe4c4f955/
Quoted 6 lines
Cc Vicente Olivert Riera <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- ...s-include-libc-network-headers-first.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/trinity/0006-proto-rds-include-libc-network-headers-first.patch
Applied to master after renumbering from 0006 to 0005 because there was no 0005 patch. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com