Skip to content

Commit bf9e060

Browse files
committed
mirror: Define PACKAGE at build time when trying to detect libbfd
Feature detection from the Makefile.feature for libbfd (with the different variants of the probe) may fail on some systems where the bfd.h and dis-asm.h headers expect the PACKAGE or PACKAGE_VERSION macros to be defined [0]. In the kernel tree, feature detection addresses it by defining the PACKAGE macro when invoking the compiler [1]. Add a similar definition for the mirror repository. Note that this issue has remained undetected for a while. This is because the bfd.h included in some distributions (Debian/Ubuntu, for example) does not contain the inclusion guard [2]. [0] https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/bfd-in.h;h=04e65aad5f0c235a5013513c545e57a01e96541f;hb=binutils-2_43_1#l27 [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/build/feature/Makefile?h=v6.11#n114 [2] https://git.launchpad.net/ubuntu/+source/binutils/tree/debian/rules?h=applied/2.43.1-5#n1031 Reported-by: Holger Hoffstätte <[email protected]> Signed-off-by: Quentin Monnet <[email protected]>
1 parent 39d789e commit bf9e060

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/Makefile.feature

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ LIBBFD_PROBE += ' bfd_demangle(0, 0, 0);'
4545
LIBBFD_PROBE += ' return 0;'
4646
LIBBFD_PROBE += '}'
4747
LIBBFD_PROBE_CMD = printf '%b\n' $(LIBBFD_PROBE) | \
48-
$(CC) $(CFLAGS) -Wall -Werror -x c - $(1) -o /dev/null >/dev/null
48+
$(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - $(1) -o /dev/null >/dev/null
4949

5050
define libbfd_build
5151
$(call detect,$(LIBBFD_PROBE_CMD))
@@ -78,7 +78,7 @@ DISASSEMBLER_PROBE += ' return 0;'
7878
DISASSEMBLER_PROBE += '}'
7979

8080
DISASSEMBLER_PROBE_CMD = printf '%b\n' $(1) | \
81-
$(CC) $(CFLAGS) -Wall -Werror -x c - -lbfd -lopcodes -S -o - >/dev/null
81+
$(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - -lbfd -lopcodes -S -o - >/dev/null
8282
define disassembler_build
8383
$(call detect,$(DISASSEMBLER_PROBE_CMD))
8484
endef

0 commit comments

Comments
 (0)