# git rev-parse -q --verify feb843a469fb0ab00d2d23cfb9bcc379791011bb^{commit} feb843a469fb0ab00d2d23cfb9bcc379791011bb already have revision, skipping fetch # 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-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 feb843a469fb0ab00d2d23cfb9bcc379791011bb # < make -s -j 160 ARCH=x86 O=/kisskb/build/kbuild_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- x86_64_defconfig # < make -s -j 160 ARCH=x86 O=/kisskb/build/kbuild_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 160 ARCH=x86 O=/kisskb/build/kbuild_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 160 ARCH=x86 O=/kisskb/build/kbuild_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/kbuild_x86_64_defconfig_x86_64-gcc8 # Build took: 0:02:43.281688