(+bpf folks, -perf folks) Please see below. On Wed, Mar 8, 2023 at 11:28 AM Jesus Sanchez-Palencia <jesussanp@xxxxxxxxxx> wrote: > > Hi there, > > So commit 6d0c4b11e743("libbpf: Poison strlcpy()") added the pragma > poison directive to libbpf_internal.h to protect against accidental > usage of strlcpy. This has broken the build for some toolchains and > the problem is that some libcs (e.g. uClibc-ng) provide the strlcpy() > declaration from string.h, which leads to a problem with the following > include order: > > string.h, > from Iibbpf_common.h:12, > from libbpf.h:20, > from libbpf_internal.h:26, > from strset.c:9: > > If we patch libbpf_internal.h and move the #pragma GCC poison > directive to after the include list, we fix the problem but at the > expense of leaving libbpf.h unprotected (and libbpf_common.h as well, > of course). We could duplicate the directive on all these other libbpf > headers after the include list, but that's code duplication so I > wanted to bring this up here before I send out a patch. > > Let me know what you think or if you have any other suggestions, please. > > Thanks, > Jesus