Skip to content

Commit 32b5048

Browse files
jacky8hyfjpoimboe
authored andcommitted
objtool: Also include tools/include/uapi
When building objtool against a sysroot that contains a stripped down version of the UAPI headers, the following error happens: In file included from arch/x86/decode.c:10: In file included from .../tools/arch/x86/include/asm/insn.h:10: In file included from <sysroot>/include/asm/byteorder.h:9: In file included from <sysroot>/include/linux/byteorder/little_endian.h:15: In file included from <sysroot>/include/linux/stddef.h:9: In file included from .../tools/include/linux/compiler_types.h:36: .../tools/include/linux/compiler-gcc.h:3:2: error: "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead." 3 | #error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead." | ^ 1 error generated. As hinted by the error, this is because <sysroot>/include/linux/stddef.h (a stripped-down version of uapi/include/linux/stddef.h) includes linux/compiler_types.h directly. However, this gets resolved to tools/include/linux/compiler_types.h, which is not expected to be included directly. To resolve this, I added tools/include/uapi to the include paths when building objtool. With this trick, linux/stddef.h is resolved to tools/include/uapi/linux/stddef.h, which doesn't include linux/compiler_types.h. Signed-off-by: HONG Yifan <[email protected]> Signed-off-by: Josh Poimboeuf <[email protected]>
1 parent ed1cb76 commit 32b5048

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

tools/objtool/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ LIBELF_LIBS := $(shell $(HOSTPKG_CONFIG) libelf --libs 2>/dev/null || echo -lel
2424
all: $(OBJTOOL)
2525

2626
INCLUDES := -I$(srctree)/tools/include \
27+
-I$(srctree)/tools/include/uapi \
2728
-I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
2829
-I$(srctree)/tools/arch/$(SRCARCH)/include \
2930
-I$(srctree)/tools/objtool/include \

0 commit comments

Comments
 (0)