ae395fe743
This patch has been added to buildroot more than eleven years ago in commit
e9ae739ce7
however it seems that rp-pppoe
builds perfectly fine without it nowadays.
- ac_cv_linux_kernel_pppoe=no just gives a warning;
- HAVE_LINUX_KERNEL_PPPOE is set by configure based on the presence of
the appropriate header.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
61 lines
1.9 KiB
Diff
61 lines
1.9 KiB
Diff
From bbf5b2759cff0c65b47fd6dbe5fe7341f205ad03 Mon Sep 17 00:00:00 2001
|
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Date: Sat, 11 Dec 2021 22:03:16 +0100
|
|
Subject: [PATCH] src/pppoe.h: fix build with musl libc
|
|
|
|
musl libc defines its own struct ethhdr that conflicts with the kernel
|
|
define one. The kernel headers provide a way to suppress its struct
|
|
ethhdr. For that to work the libc headers must precede the kernel. Move
|
|
the kernel linux/if_ether.h include below libc netinet/if_ether.h. That
|
|
fixes the following build failure:
|
|
|
|
In file included from pppoe.h:133,
|
|
from debug.c:19:
|
|
/home/giuliobenetti/autobuild/run/instance-0/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/include/netinet/if_ether.h:116:8: error: redefinition of 'struct ethhdr'
|
|
116 | struct ethhdr {
|
|
| ^~~~~~
|
|
In file included from pppoe.h:121,
|
|
from debug.c:19:
|
|
/home/giuliobenetti/autobuild/run/instance-0/output-1/host/riscv64-buildroot-linux-musl/sysroot/usr/include/linux/if_ether.h:163:8: note: originally defined here
|
|
163 | struct ethhdr {
|
|
| ^~~~~~
|
|
|
|
Fixes:
|
|
- http://autobuild.buildroot.org/results/ccca18fcbcde65cb6784f5559eac68ca17ab14a3
|
|
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
[Upstream status: https://github.com/dfskoll/rp-pppoe/pull/4]
|
|
---
|
|
src/pppoe.h | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/src/pppoe.h b/src/pppoe.h
|
|
index 4780092..2b08111 100644
|
|
--- a/src/pppoe.h
|
|
+++ b/src/pppoe.h
|
|
@@ -117,10 +117,6 @@ typedef unsigned long UINT32_t;
|
|
#error Could not find a 32-bit integer type
|
|
#endif
|
|
|
|
-#ifdef HAVE_LINUX_IF_ETHER_H
|
|
-#include <linux/if_ether.h>
|
|
-#endif
|
|
-
|
|
#include <netinet/in.h>
|
|
|
|
#ifdef HAVE_NETINET_IF_ETHER_H
|
|
@@ -134,6 +130,10 @@ typedef unsigned long UINT32_t;
|
|
#endif
|
|
#endif
|
|
|
|
+#ifdef HAVE_LINUX_IF_ETHER_H
|
|
+#include <linux/if_ether.h>
|
|
+#endif
|
|
+
|
|
|
|
|
|
/* Ethernet frame types according to RFC 2516 */
|
|
--
|
|
2.33.0
|
|
|