# git rev-parse -q --verify e5d523f1ae8f2cef01f8e071aeee432654166708^{commit} e5d523f1ae8f2cef01f8e071aeee432654166708 already have revision, skipping fetch # git checkout -q -f -B kisskb e5d523f1ae8f2cef01f8e071aeee432654166708 # git clean -qxdf # < git log -1 # commit e5d523f1ae8f2cef01f8e071aeee432654166708 # Author: Nick Desaulniers # Date: Thu Jul 14 13:56:43 2022 -0700 # # ubsan: disable UBSAN_DIV_ZERO for clang # # Building with UBSAN_DIV_ZERO with clang produces numerous fallthrough # warnings from objtool. # # In the case of uncheck division, UBSAN_DIV_ZERO may introduce new # control flow to check for division by zero. # # Because the result of the division is undefined, LLVM may optimize the # control flow such that after the call to __ubsan_handle_divrem_overflow # doesn't matter. If panic_on_warn was set, # __ubsan_handle_divrem_overflow would panic. # # The problem is is that panic_on_warn is run time configurable. If it's # disabled, then we cannot guarantee that we will be able to recover # safely. Disable this config for clang until we can come up with a # solution in LLVM. # # Link: https://github.com/ClangBuiltLinux/linux/issues/1657 # Link: https://github.com/llvm/llvm-project/issues/56289 # Link: https://lore.kernel.org/lkml/CAHk-=wj1qhf7y3VNACEexyp5EbkNpdcu_542k-xZpzmYLOjiCg@mail.gmail.com/ # Reported-by: Sudip Mukherjee # Suggested-by: Linus Torvalds # Signed-off-by: Nick Desaulniers # Acked-by: Nathan Chancellor # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 e5d523f1ae8f2cef01f8e071aeee432654166708 # < make -s -j 40 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allmodconfig # < make -s -j 40 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 40 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 40 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 # Build took: 0:15:21.940692