# git rev-parse -q --verify 3ce47d95b7346dcafd9bed3556a8d072cb2b8571^{commit} 3ce47d95b7346dcafd9bed3556a8d072cb2b8571 already have revision, skipping fetch # git checkout -q -f -B kisskb 3ce47d95b7346dcafd9bed3556a8d072cb2b8571 # git clean -qxdf # < git log -1 # commit 3ce47d95b7346dcafd9bed3556a8d072cb2b8571 # Author: Nathan Chancellor # Date: Mon Jan 4 13:59:53 2021 -0700 # # powerpc: Handle .text.{hot,unlikely}.* in linker script # # Commit eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input # sections") added ".text.unlikely.*" and ".text.hot.*" due to an LLVM # change [1]. # # After another LLVM change [2], these sections are seen in some PowerPC # builds, where there is a orphan section warning then build failure: # # $ make -skj"$(nproc)" \ # ARCH=powerpc CROSS_COMPILE=powerpc64le-linux-gnu- LLVM=1 O=out \ # distclean powernv_defconfig zImage.epapr # ld.lld: warning: kernel/built-in.a(panic.o):(.text.unlikely.) is being placed in '.text.unlikely.' # ... # ld.lld: warning: address (0xc000000000009314) of section .text is not a multiple of alignment (256) # ... # ERROR: start_text address is c000000000009400, should be c000000000008000 # ERROR: try to enable LD_HEAD_STUB_CATCH config option # ERROR: see comments in arch/powerpc/tools/head_check.sh # ... # # Explicitly handle these sections like in the main linker script so # there is no more build failure. # # [1]: https://reviews.llvm.org/D79600 # [2]: https://reviews.llvm.org/D92493 # # Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections") # Cc: stable@vger.kernel.org # Signed-off-by: Nathan Chancellor # Signed-off-by: Michael Ellerman # Link: https://github.com/ClangBuiltLinux/linux/issues/1218 # Link: https://lore.kernel.org/r/20210104205952.1399409-1-natechancellor@gmail.com # < /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 3ce47d95b7346dcafd9bed3556a8d072cb2b8571 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_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 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_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 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_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 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_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 0x6d160c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) INFO: Uncompressed kernel (size 0x6d160c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) Completed OK # rm -rf /kisskb/build/powerpc-fixes_44x_iss476-smp_defconfig_powerpc-gcc5 # Build took: 0:00:39.398389