objtool: Use HOSTCFLAGS for HAVE_XXHASH test

JIRA: https://redhat.atlassian.net/browse/RHEL-152189

commit 32234049107d012703d50547e815f198f147968b
Author: HONG Yifan <elsk@google.com>
Date:   Tue Mar 3 01:03:39 2026 +0000

    objtool: Use HOSTCFLAGS for HAVE_XXHASH test

    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>

Signed-off-by: Yannick Cote <ycote@redhat.com>
This commit is contained in:
Yannick Cote
2026-05-17 06:56:32 +00:00
parent b69a66533b
commit 6eb58ab7c4
+1 -1
View 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) \