]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
objtool: Use HOSTCFLAGS for HAVE_XXHASH test
authorHONG Yifan <elsk@google.com>
Tue, 3 Mar 2026 01:03:39 +0000 (01:03 +0000)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Fri, 6 Mar 2026 15:48:41 +0000 (07:48 -0800)
Previously, HAVE_XXHASH is tested by invoking HOSTCC without HOSTCFLAGS.

Consider the following scenario:

- The host machine has libxxhash installed
- We build the kernel with HOSTCFLAGS containing a --sysroot that does
  not have xxhash.h (for hermetic builds)

In this case, HAVE_XXHASH is set to y, but when it builds objtool with
HOSTCFLAGS, because the --sysroot does not contain xxhash.h, the
following error is raised:

<...>/common/tools/objtool/include/objtool/checksum_types.h:12:10: fatal error: 'xxhash.h' file not found
   12 | #include <xxhash.h>
      |          ^~~~~~~~~~

To resolve the error, we test HAVE_XXHASH by invoking HOSTCC with
HOSTCFLAGS.

Signed-off-by: HONG Yifan <elsk@google.com>
Reviewed-by: Carlos Llamas <cmllamas@google.com>
Link: https://patch.msgid.link/20260303010340.306164-1-elsk@google.com
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
tools/objtool/Makefile

index 6964175abdfdf5a254a98ef69e355e1d60bac6a2..b8b8529f8ea9ebe15f3d491ced5d493ff390f275 100644 (file)
@@ -13,7 +13,7 @@ endif
 
 ifeq ($(ARCH_HAS_KLP),y)
        HAVE_XXHASH = $(shell printf "$(pound)include <xxhash.h>\nXXH3_state_t *state;int main() {}" | \
-                     $(HOSTCC) -xc - -o /dev/null -lxxhash 2> /dev/null && echo y || echo n)
+                     $(HOSTCC) $(HOSTCFLAGS) -xc - -o /dev/null -lxxhash 2> /dev/null && echo y || echo n)
        ifeq ($(HAVE_XXHASH),y)
                BUILD_KLP        := y
                LIBXXHASH_CFLAGS := $(shell $(HOSTPKG_CONFIG) libxxhash --cflags 2>/dev/null) \