summaryrefslogtreecommitdiffstats
path: root/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2012-04-27 00:42:40 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2012-04-27 00:42:40 +0200
commit524a8ab35cb955060f83649989ef769e8988d02f (patch)
treebb6f40e4c392ef8937723a37a5dad8a1a4409ba2 /package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch
parentfe63b5925af2ce14fa20c4d5d92ce5d0789d909a (diff)
downloadbuildroot-novena-524a8ab35cb955060f83649989ef769e8988d02f.tar.gz
buildroot-novena-524a8ab35cb955060f83649989ef769e8988d02f.zip
package: add ndisc6 (IPv6 network tools)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch')
-rw-r--r--package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch b/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch
new file mode 100644
index 000000000..f84719cf3
--- /dev/null
+++ b/package/ndisc6/ndisc6-trace-tcp-upd-uClibc-fix.patch
@@ -0,0 +1,64 @@
+From 0be2fe3a750b62cafca9794e37f040624d3a59de Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Thu, 26 Apr 2012 23:45:25 +0200
+Subject: [PATCH] trace-{tcp,udp}.c: fix build on uClibc
+
+Selection of the BSD variant of struct tcphdr/udphdr on uClibc fails
+because of config.h. This is caused by config.h setting _GNU_SOURCE
+and the compat handling (uClibc doesn't have inet6_rth_*) including
+sys/types.h which in term includes features.h, which figures out
+what bsd/gnu/posix variant to use because of:
+
+ /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */
+ #if defined _BSD_SOURCE && \
+ !(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \
+ defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED || \
+ defined _GNU_SOURCE || defined _SVID_SOURCE)
+ # define __FAVOR_BSD 1
+ #endif
+
+The current workaround of undefining _GNU_SOURCE after config.h doesn't
+work as features.h has already been evaluated by then. Instead, simply
+don't include config.h as it isn't needed in these two files.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/trace-tcp.c | 5 -----
+ src/trace-udp.c | 5 -----
+ 2 files changed, 10 deletions(-)
+
+diff --git a/src/trace-tcp.c b/src/trace-tcp.c
+index 6a7732d..91b64c2 100644
+--- a/src/trace-tcp.c
++++ b/src/trace-tcp.c
+@@ -17,11 +17,6 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ *************************************************************************/
+
+-#ifdef HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
+-#undef _GNU_SOURCE
+ #define _BSD_SOURCE 1
+
+ #include <string.h>
+diff --git a/src/trace-udp.c b/src/trace-udp.c
+index 821c24c..1754338 100644
+--- a/src/trace-udp.c
++++ b/src/trace-udp.c
+@@ -17,11 +17,6 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ *************************************************************************/
+
+-#ifdef HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
+-#undef _GNU_SOURCE
+ #define _BSD_SOURCE 1
+
+ #include <string.h>
+--
+1.7.10
+