# git rev-parse -q --verify feb843a469fb0ab00d2d23cfb9bcc379791011bb^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-kbuild.git for-next remote: warning: multi-pack bitmap is missing required reverse index # git rev-parse -q --verify feb843a469fb0ab00d2d23cfb9bcc379791011bb^{commit} feb843a469fb0ab00d2d23cfb9bcc379791011bb # git checkout -q -f -B kisskb feb843a469fb0ab00d2d23cfb9bcc379791011bb # git clean -qxdf # < git log -1 # commit feb843a469fb0ab00d2d23cfb9bcc379791011bb # Author: Masahiro Yamada # Date: Sun Apr 9 23:53:57 2023 +0900 # # kbuild: add $(CLANG_FLAGS) to KBUILD_CPPFLAGS # # When preprocessing arch/*/kernel/vmlinux.lds.S, the target triple is # not passed to $(CPP) because we add it only to KBUILD_{C,A}FLAGS. # # As a result, the linker script is preprocessed with predefined macros # for the build host instead of the target. # # Assuming you use an x86 build machine, compare the following: # # $ clang -dM -E -x c /dev/null # $ clang -dM -E -x c /dev/null -target aarch64-linux-gnu # # There is no actual problem presumably because our linker scripts do not # rely on such predefined macros, but it is better to define correct ones. # # Move $(CLANG_FLAGS) to KBUILD_CPPFLAGS, so that all *.c, *.S, *.lds.S # will be processed with the proper target triple. # # [Note] # After the patch submission, we got an actual problem that needs this # commit. (CBL issue 1859) # # Link: https://github.com/ClangBuiltLinux/linux/issues/1859 # Reported-by: Tom Rini # Signed-off-by: Masahiro Yamada # Reviewed-by: Nathan Chancellor # Tested-by: Nathan Chancellor # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 feb843a469fb0ab00d2d23cfb9bcc379791011bb # < make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux- defconfig # < make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 40 ARCH=arm64 O=/kisskb/build/kbuild_arm64-defconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/kbuild_arm64-defconfig_arm64-gcc11 # Build took: 0:05:10.478651