mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-10 23:12:48 +00:00
5acc4f919c
Currently it's needed to have gcc-multilib on the host to correctly compile xdp-tools. This is wrong and means that we are using host header to compile a tool. By some searching in how the makefile works it was discovered that BPF_CFLAGS were not used and required to be appended to config.mk Only one single header was added but we should include each BPF_CFLAGS from bpf.mk. To make this some patching to bpf-header were required and some patches to xdp-tools were required. Also it's needed to pass the correct target to BPF_CFLAGS. With the following changes xdp-tools can correctly compile with each header from bpf-headers and should not use any host header. Co-Developed-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Andre Heider <a.heider@gmail.com> Link: https://github.com/openwrt/openwrt/pull/11825 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
30 lines
1.3 KiB
Diff
30 lines
1.3 KiB
Diff
--- a/configure
|
|
+++ b/configure
|
|
@@ -176,7 +176,7 @@ int main(int argc, char **argv) {
|
|
return 0;
|
|
}
|
|
EOF
|
|
- libpcap_err=$($CC -o $TMPDIR/libpcaptest $TMPDIR/libpcaptest.c $LIBPCAP_CFLAGS $LIBPCAP_LDLIBS 2>&1)
|
|
+ libpcap_err=$($CC -o $TMPDIR/libpcaptest $TMPDIR/libpcaptest.c $LIBPCAP_CFLAGS $LIBPCAP_LDLIBS $LDFLAGS 2>&1)
|
|
if [ "$?" -eq "0" ]; then
|
|
echo "HAVE_PCAP:=y" >>$CONFIG
|
|
[ -n "$LIBPCAP_CFLAGS" ] && echo 'CFLAGS += ' $LIBPCAP_CFLAGS >> $CONFIG
|
|
@@ -224,7 +224,7 @@ int main(int argc, char **argv) {
|
|
return 0;
|
|
}
|
|
EOF
|
|
- libbpf_err=$($CC -o $TMPDIR/libbpftest $TMPDIR/libbpftest.c -Werror $LIBBPF_CFLAGS $LIBBPF_LDLIBS 2>&1)
|
|
+ libbpf_err=$($CC -o $TMPDIR/libbpftest $TMPDIR/libbpftest.c -Werror $LIBBPF_CFLAGS $LIBBPF_LDLIBS $LDFLAGS 2>&1)
|
|
if [ "$?" -eq "0" ]; then
|
|
echo "HAVE_FEATURES+=${config_var}" >>"$CONFIG"
|
|
echo "yes"
|
|
@@ -291,7 +291,7 @@ int main(int argc, char **argv) {
|
|
}
|
|
EOF
|
|
|
|
- libbpf_err=$($CC -o $TMPDIR/libbpftest $TMPDIR/libbpftest.c -Werror $LIBBPF_CFLAGS $LIBBPF_LDLIBS 2>&1)
|
|
+ libbpf_err=$($CC -o $TMPDIR/libbpftest $TMPDIR/libbpftest.c -Werror $LIBBPF_CFLAGS $LIBBPF_LDLIBS $LDFLAGS 2>&1)
|
|
if [ "$?" -eq "0" ]; then
|
|
echo "SYSTEM_LIBBPF:=y" >>$CONFIG
|
|
echo "LIBBPF_VERSION=$LIBBPF_VERSION" >>$CONFIG
|