From ee7377919774c9a3a6266f9afeb5faae55c299d1 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 27 Aug 2020 18:27:46 +0200 Subject: [PATCH] package/dillo: fix build with gcc 10 Fixes: - http://autobuild.buildroot.org/results/9c777af97fe50143c6a68f0170fc86c87d8ead3f Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- .../dillo/0004-fix-build-with-gcc-10.patch | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 package/dillo/0004-fix-build-with-gcc-10.patch diff --git a/package/dillo/0004-fix-build-with-gcc-10.patch b/package/dillo/0004-fix-build-with-gcc-10.patch new file mode 100644 index 0000000000..413bccb00b --- /dev/null +++ b/package/dillo/0004-fix-build-with-gcc-10.patch @@ -0,0 +1,124 @@ +fix build with gcc 10 + +gcc 10 is now defaulting to -fno-common resulting in the following build +failures: + +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/bin/arm-buildroot-linux-gnueabihf-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -D_FORTIFY_SOURCE=1 -DENABLE_IPV6 -DD_DNS_THREADED -D_REENTRANT -D_THREAD_SAFE -Wall -W -Wno-unused-parameter -Waggregate-return -o dpid dpi.o dpi_socket_dir.o dpid.o dpid_common.o main.o misc_new.o ../dpip/libDpip.a ../dlib/libDlib.a +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: dpi_socket_dir.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: multiple definition of `dpi_errno'; dpi.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: multiple definition of `dpi_errno'; dpi.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: dpid_common.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: multiple definition of `dpi_errno'; dpi.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:64: multiple definition of `sock_set'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:64: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:61: multiple definition of `services_list'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:61: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:58: multiple definition of `dpi_attr_list'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:58: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:55: multiple definition of `numsocks'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:55: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:52: multiple definition of `numdpis'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:52: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:31: multiple definition of `srs_fd'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:31: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:28: multiple definition of `srs_name'; dpid.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid.h:28: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: main.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: multiple definition of `dpi_errno'; dpi.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: first defined here +/nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: misc_new.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: multiple definition of `dpi_errno'; dpi.o:/nvme/rc-buildroot-test/scripts/instance-0/output-1/build/dillo-3.0.5/dpid/dpid_common.h:44: first defined here + +So add missing extern for srs_fd, numdpis, numsocks, dpi_attr_list, +services_list and sock_set + +Also remove srs_name which is never used and give a name to dpi_errno +enum + +Fixes: + - http://autobuild.buildroot.org/results/9c777af97fe50143c6a68f0170fc86c87d8ead3f + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to jcid@dillo.org] + +diff -r f60d55c02567 dpid/dpid.c +--- a/dpid/dpid.c Fri Oct 05 22:05:08 2018 +0200 ++++ b/dpid/dpid.c Thu Aug 27 18:16:50 2020 +0200 +@@ -38,6 +38,12 @@ + + #define QUEUE 5 + ++int srs_fd; ++int numdpis; ++int numsocks; ++struct dp *dpi_attr_list; ++Dlist *services_list; ++fd_set sock_set; + volatile sig_atomic_t caught_sigchld = 0; + char *SharedKey = NULL; + +diff -r f60d55c02567 dpid/dpid.h +--- a/dpid/dpid.h Fri Oct 05 22:05:08 2018 +0200 ++++ b/dpid/dpid.h Thu Aug 27 18:16:50 2020 +0200 +@@ -25,10 +25,9 @@ + + /*! \TODO: Should read this from dillorc */ + #define SRS_NAME "dpid.srs" +-char *srs_name; + + /*! dpid's service request socket file descriptor */ +-int srs_fd; ++extern int srs_fd; + + /*! plugin state information + */ +@@ -49,19 +48,19 @@ + }; + + /*! Number of available plugins */ +-int numdpis; ++extern int numdpis; + + /*! Number of sockets being watched */ +-int numsocks; ++extern int numsocks; + + /*! State information for each plugin. */ +-struct dp *dpi_attr_list; ++extern struct dp *dpi_attr_list; + + /*! service served for each plugin */ +-Dlist *services_list; ++extern Dlist *services_list; + + /*! Set of sockets watched for connections */ +-fd_set sock_set; ++extern fd_set sock_set; + + /*! Set to 1 by the SIGCHLD handler dpi_sigchld */ + extern volatile sig_atomic_t caught_sigchld; +diff -r f60d55c02567 dpid/dpid_common.h +--- a/dpid/dpid_common.h Fri Oct 05 22:05:08 2018 +0200 ++++ b/dpid/dpid_common.h Thu Aug 27 18:16:50 2020 +0200 +@@ -37,10 +37,10 @@ + + + /*! Error codes for dpid */ +-enum { ++enum dpi_errno { + no_errors, + dpid_srs_addrinuse /* dpid service request socket address already in use */ +-} dpi_errno; ++}; + + /*! Intended for identifying dillo plugins + * and related files +diff -r f60d55c02567 dpid/main.c +--- a/dpid/main.c Fri Oct 05 22:05:08 2018 +0200 ++++ b/dpid/main.c Thu Aug 27 18:16:50 2020 +0200 +@@ -231,7 +231,7 @@ + /* this sleep used to unmask a race condition */ + // sleep(2); + +- dpi_errno = no_errors; ++ enum dpi_errno error_code = no_errors; + + /* Get list of available dpis */ + numdpis = register_all(&dpi_attr_list); +@@ -254,7 +254,7 @@ + + /* Initialise sockets */ + if ((numsocks = init_ids_srs_socket()) == -1) { +- switch (dpi_errno) { ++ switch (error_code) { + case dpid_srs_addrinuse: + MSG_ERR("dpid refuses to start, possibly because:\n"); + MSG_ERR("\t1) An instance of dpid is already running.\n"); -- 2.30.2