# git rev-parse -q --verify df85055f4421b6d147cca0ac6df8535392128775^{commit} df85055f4421b6d147cca0ac6df8535392128775 already have revision, skipping fetch # git checkout -q -f -B kisskb df85055f4421b6d147cca0ac6df8535392128775 # git clean -qxdf # < git log -1 # commit df85055f4421b6d147cca0ac6df8535392128775 # Author: Nathan Chancellor # Date: Fri May 28 11:27:52 2021 -0700 # # powerpc/barrier: Avoid collision with clang's __lwsync macro # # A change in clang 13 results in the __lwsync macro being defined as # __builtin_ppc_lwsync, which emits 'lwsync' or 'msync' depending on what # the target supports. This breaks the build because of -Werror in # arch/powerpc, along with thousands of warnings: # # In file included from arch/powerpc/kernel/pmc.c:12: # In file included from include/linux/bug.h:5: # In file included from arch/powerpc/include/asm/bug.h:109: # In file included from include/asm-generic/bug.h:20: # In file included from include/linux/kernel.h:12: # In file included from include/linux/bitops.h:32: # In file included from arch/powerpc/include/asm/bitops.h:62: # arch/powerpc/include/asm/barrier.h:49:9: error: '__lwsync' macro redefined [-Werror,-Wmacro-redefined] # #define __lwsync() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory") # ^ # :308:9: note: previous definition is here # #define __lwsync __builtin_ppc_lwsync # ^ # 1 error generated. # # Undefine this macro so that the runtime patching introduced by # commit 2d1b2027626d ("powerpc: Fixup lwsync at runtime") continues to # work properly with clang and the build no longer breaks. # # Cc: stable@vger.kernel.org # Signed-off-by: Nathan Chancellor # Reviewed-by: Nick Desaulniers # Signed-off-by: Michael Ellerman # Link: https://github.com/ClangBuiltLinux/linux/issues/1386 # Link: https://github.com/llvm/llvm-project/commit/62b5df7fe2b3fda1772befeda15598fbef96a614 # Link: https://lore.kernel.org/r/20210528182752.1852002-1-nathan@kernel.org # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 df85055f4421b6d147cca0ac6df8535392128775 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_tqm8xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- tqm8xx_defconfig # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_tqm8xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_tqm8xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_tqm8xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/net/sched/sch_frag.c: In function 'sch_fragment': /kisskb/src/net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces] struct rtable sch_frag_rt = { 0 }; ^ /kisskb/src/net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/powerpc-next_tqm8xx_defconfig_powerpc-gcc4.9 # Build took: 0:00:29.189545