# git rev-parse -q --verify e27f421503972af88df6af77d0059bad0aa7616a^{commit} e27f421503972af88df6af77d0059bad0aa7616a already have revision, skipping fetch # 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-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 e27f421503972af88df6af77d0059bad0aa7616a # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/prom/p1275.c:52:6: warning: no previous prototype for 'prom_cif_init' [-Wmissing-prototypes] 52 | void prom_cif_init(void *cif_handler, void *cif_stack) | ^~~~~~~~~~~~~ /kisskb/src/arch/sparc/prom/misc_64.c:165:5: warning: no previous prototype for 'prom_get_mmu_ihandle' [-Wmissing-prototypes] 165 | int prom_get_mmu_ihandle(void) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned. Is "_mcount" prototyped in ? Completed OK # rm -rf /kisskb/build/kbuild_defconfig_sparc64-gcc13 # Build took: 0:01:36.279431