From b61c14d76d982916dd5d59cc82a638f390dcf8f9 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Thu, 6 Apr 2023 22:21:56 +0200 Subject: [PATCH] bcc: fix build on musl --- ...ffc0366981d4e41b08f007b37bd6af931f25.patch | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 srcpkgs/bcc/patches/950cffc0366981d4e41b08f007b37bd6af931f25.patch diff --git a/srcpkgs/bcc/patches/950cffc0366981d4e41b08f007b37bd6af931f25.patch b/srcpkgs/bcc/patches/950cffc0366981d4e41b08f007b37bd6af931f25.patch new file mode 100644 index 00000000000..4842e95e371 --- /dev/null +++ b/srcpkgs/bcc/patches/950cffc0366981d4e41b08f007b37bd6af931f25.patch @@ -0,0 +1,43 @@ +From 950cffc0366981d4e41b08f007b37bd6af931f25 Mon Sep 17 00:00:00 2001 +From: Jesus Sanchez-Palencia +Date: Wed, 8 Mar 2023 16:48:36 -0800 +Subject: [PATCH] libbpf: Revert poisoning of strlcpy + +This reverts commit 6d0c4b11e743("libbpf: Poison strlcpy()"). + +It added the pragma poison directive to libbpf_internal.h to protect +against accidental usage of strlcpy but ended up breaking the build for +toolchains based on libcs which provide the strlcpy() declaration from +string.h (e.g. uClibc-ng). The include order which causes the issue is: + + string.h, + from Iibbpf_common.h:12, + from libbpf.h:20, + from libbpf_internal.h:26, + from strset.c:9: + +Fixes: 6d0c4b11e743 ("libbpf: Poison strlcpy()") +Signed-off-by: Jesus Sanchez-Palencia +Signed-off-by: Andrii Nakryiko +Signed-off-by: Daniel Borkmann +Link: https://lore.kernel.org/bpf/20230309004836.2808610-1-jesussanp@google.com +Signed-off-by: Alexei Starovoitov +--- + src/libbpf_internal.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libbpf_internal.h b/src/libbpf_internal.h +index fbaf68335..e4d05662a 100644 +--- a/src/cc/libbpf/src/libbpf_internal.h ++++ b/src/cc/libbpf/src/libbpf_internal.h +@@ -20,8 +20,8 @@ + /* make sure libbpf doesn't use kernel-only integer typedefs */ + #pragma GCC poison u8 u16 u32 u64 s8 s16 s32 s64 + +-/* prevent accidental re-addition of reallocarray()/strlcpy() */ +-#pragma GCC poison reallocarray strlcpy ++/* prevent accidental re-addition of reallocarray() */ ++#pragma GCC poison reallocarray + + #include "libbpf.h" + #include "btf.h"