# 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-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 df85055f4421b6d147cca0ac6df8535392128775 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_44x_iss476-smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 44x/iss476-smp_defconfig WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n]) Selected by [y]: - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=y] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y] WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n]) Selected by [y]: - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=y] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y] # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_44x_iss476-smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_44x_iss476-smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n]) Selected by [y]: - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=y] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y] WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n]) Selected by [y]: - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=y] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y] # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_44x_iss476-smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- INFO: Uncompressed kernel (size 0x6e3b94) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) INFO: Uncompressed kernel (size 0x6e3b94) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) Completed OK # rm -rf /kisskb/build/powerpc-next_44x_iss476-smp_defconfig_powerpc-gcc5 # Build took: 0:00:54.917053