# git rev-parse -q --verify e27f421503972af88df6af77d0059bad0aa7616a^{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 e27f421503972af88df6af77d0059bad0aa7616a^{commit} e27f421503972af88df6af77d0059bad0aa7616a # git checkout -q -f -B kisskb e27f421503972af88df6af77d0059bad0aa7616a # git clean -qxdf # < git log -1 # commit e27f421503972af88df6af77d0059bad0aa7616a # Author: Masahiro Yamada # Date: Mon Jun 10 20:25:18 2024 +0900 # # kbuild: merge temporary vmlinux for BTF and kallsyms # # CONFIG_DEBUG_INFO_BTF=y requires one additional link step. # (.tmp_vmlinux.btf) # # CONFIG_KALLSYMS=y requires two additional link steps. # (.tmp_vmlinux.kallsyms1 and .tmp_vmlinux.kallsyms2) # # Enabling both requires three additional link steps. # # When CONFIG_DEBUG_INFO_BTF=y and CONFIG_KALLSYMS=y, the current build # process is as follows: # # KSYMS .tmp_vmlinux.kallsyms0.S # AS .tmp_vmlinux.kallsyms0.o # LD .tmp_vmlinux.btf # temporary vmlinux for BTF # BTF .btf.vmlinux.bin.o # LD .tmp_vmlinux.kallsyms1 # temporary vmlinux for kallsyms step 1 # NM .tmp_vmlinux.kallsyms1.syms # KSYMS .tmp_vmlinux.kallsyms1.S # AS .tmp_vmlinux.kallsyms1.o # LD .tmp_vmlinux.kallsyms2 # temporary vmlinux for kallsyms step 2 # NM .tmp_vmlinux.kallsyms2.syms # KSYMS .tmp_vmlinux.kallsyms2.S # AS .tmp_vmlinux.kallsyms2.o # LD vmlinux # final vmlinux # # This is redundant because the BTF generation and the kallsyms step 1 can # be performed against the same temporary vmlinux. # # When both CONFIG_DEBUG_INFO_BTF and CONFIG_KALLSYMS are enabled, we can # reduce the number of link steps by one. # # This commit changes the build process as follows: # # KSYMS .tmp_vmlinux0.kallsyms.S # AS .tmp_vmlinux0.kallsyms.o # LD .tmp_vmlinux1 # temporary vmlinux for BTF and kallsyms step 1 # BTF .tmp_vmlinux1.btf.o # NM .tmp_vmlinux1.syms # KSYMS .tmp_vmlinux1.kallsyms.S # AS .tmp_vmlinux1.kallsyms.o # LD .tmp_vmlinux2 # temporary vmlinux for kallsyms step 2 # NM .tmp_vmlinux2.syms # KSYMS .tmp_vmlinux2.kallsyms.S # AS .tmp_vmlinux2.kallsyms.o # LD vmlinux # final vmlinux # # Signed-off-by: Masahiro Yamada # Acked-by: Andrii Nakryiko # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 e27f421503972af88df6af77d0059bad0aa7616a # make -s -j 24 ARCH=powerpc O=/kisskb/build/kbuild_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 44x/fsp2_defconfig # < make -s -j 24 ARCH=powerpc O=/kisskb/build/kbuild_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 24 ARCH=powerpc O=/kisskb/build/kbuild_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 24 ARCH=powerpc O=/kisskb/build/kbuild_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/kbuild_44x_fsp2_defconfig_powerpc-gcc5 # Build took: 0:02:03.423294