# git rev-parse -q --verify c67a85bee78db74c6889a5ca645c3763ad23d863^{commit} c67a85bee78db74c6889a5ca645c3763ad23d863 already have revision, skipping fetch # git checkout -q -f -B kisskb c67a85bee78db74c6889a5ca645c3763ad23d863 # git clean -qxdf # < git log -1 # commit c67a85bee78db74c6889a5ca645c3763ad23d863 # Author: Nick Desaulniers # Date: Fri Oct 14 09:53:02 2022 -0700 # # kbuild: add -fno-discard-value-names to cmd_cc_ll_c # # When debugging LLVM IR, it can be handy for clang to not discard value # names used for local variables and parameters. Compare the generated IR. # # -fdiscard-value-names: # define i32 @core_sys_select(i32 %0, ptr %1, ptr %2, ptr %3, ptr %4) { # %6 = alloca i64 # %7 = alloca %struct.poll_wqueues # %8 = alloca [64 x i32] # # -fno-discard-value-names: # define i32 @core_sys_select(i32 %n, ptr %inp, ptr %outp, ptr %exp, # ptr %end_time) { # %expire.i = alloca i64 # %table.i = alloca %struct.poll_wqueues # %stack_fds = alloca [64 x i32] # # The rule for generating human readable LLVM IR (.ll) is only useful as a # debugging feature: # # $ make LLVM=1 fs/select.ll # # As Fangrui notes: # A LLVM_ENABLE_ASSERTIONS=off build of Clang defaults to # -fdiscard-value-names. # # A LLVM_ENABLE_ASSERTIONS=on build of Clang defaults to # -fno-discard-value-names. # # Explicitly enable -fno-discard-value-names so that the IR always contains # value names regardless of whether assertions were enabled or not. # Assertions generally are not enabled in releases of clang packaged by # distributions. # # Link: https://github.com/ClangBuiltLinux/linux/issues/1467 # Reviewed-by: Nathan Chancellor # Reviewed-by: Fangrui Song # Signed-off-by: Nick Desaulniers # Signed-off-by: Masahiro Yamada # < /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 c67a85bee78db74c6889a5ca645c3763ad23d863 # < make -s -j 32 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 32 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 32 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 32 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:15.638486