# git rev-parse -q --verify d4c858643263cfde13f7d937eaff95c2ed87cdf1^{commit} d4c858643263cfde13f7d937eaff95c2ed87cdf1 already have revision, skipping fetch # git checkout -q -f -B kisskb d4c858643263cfde13f7d937eaff95c2ed87cdf1 # git clean -qxdf # < git log -1 # commit d4c858643263cfde13f7d937eaff95c2ed87cdf1 # Author: Changbin Du # Date: Tue Feb 1 09:32:57 2022 +0800 # # kallsyms: ignore all local labels prefixed by '.L' # # The llvm compiler can generate lots of local labels ('.LBB', '.Ltmpxxx', # '.L__unnamed_xx', etc.). These symbols usually are useless for debugging. # And they might overlap with handwritten symbols. # # Before this change, a dumpstack shows a local symbol for epc: # [ 0.040341][ T0] Hardware name: riscv-virtio,qemu (DT) # [ 0.040376][ T0] epc : .LBB6_14+0x22/0x6a # [ 0.040452][ T0] ra : restore_all+0x12/0x6e # # The simple solution is that we can ignore all local labels prefixed by '.L'. # For handwritten symbols which need to be preserved should drop the '.L' # prefix. # # After this change, the C defined symbol is shown so we can locate the # problematical code immediately: # [ 0.035795][ T0] Hardware name: riscv-virtio,qemu (DT) # [ 0.036332][ T0] epc : trace_hardirqs_on+0x54/0x13c # [ 0.036567][ T0] ra : restore_all+0x12/0x6e # # Signed-off-by: Changbin Du # Reviewed-by: Nathan Chancellor # Reviewed-by: Nick Desaulniers # Signed-off-by: Masahiro Yamada # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 d4c858643263cfde13f7d937eaff95c2ed87cdf1 # < make -s -j 32 ARCH=sparc64 O=/kisskb/build/kbuild_sparc64-defconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 32 ARCH=sparc64 O=/kisskb/build/kbuild_sparc64-defconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 32 ARCH=sparc64 O=/kisskb/build/kbuild_sparc64-defconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 32 ARCH=sparc64 O=/kisskb/build/kbuild_sparc64-defconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1517:2: warning: #warning syscall clone3 not implemented [-Wcpp] WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version ... Is "_mcount" prototyped in ? kernel: arch/sparc/boot/image is ready kernel: arch/sparc/boot/zImage is ready Completed OK # rm -rf /kisskb/build/kbuild_sparc64-defconfig_sparc64-gcc11 # Build took: 0:01:59.490982