]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
powerpc/boot: Allow text relocations for pseries wrapper with binutils 2.46+
authorAmit Machhiwal <amachhiw@linux.ibm.com>
Mon, 25 May 2026 16:16:01 +0000 (21:46 +0530)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Mon, 15 Jun 2026 10:54:07 +0000 (16:24 +0530)
Binutils 2.46 changed the default linker behavior from '-z notext' to
'-z text', which treats dynamic relocations in read-only segments as
errors rather than warnings. This causes the pseries boot wrapper build
to fail with:

  /usr/bin/ld.bfd: arch/powerpc/boot/wrapper.a(crt0.o): warning:
    relocation against `_platform_stack_top' in read-only section `.text'
  /usr/bin/ld.bfd: error: read-only segment has dynamic relocations

The pseries wrapper uses '-pie' to create position-independent code.
However, crt0.S contains a pointer to '_platform_stack_top' in the .text
section, which requires a dynamic relocation at runtime. This creates
DT_TEXTREL (text relocations), which were allowed by default in binutils
2.45 and earlier (via implicit '-z notext') but are now rejected by
binutils 2.46+.

Add '-z notext' linker flag to explicitly allow text relocations for
the pseries platform, similar to what is already done for the epapr
platform. This restores the previous behavior and allows the boot
wrapper to build successfully with binutils 2.46+.

Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20260525161601.32097-1-amachhiw@linux.ibm.com
arch/powerpc/boot/wrapper

index 1efd1206fcab0dbd45e373ce72349162cd9816d8..25321ce262e8701c531d38988f6c1ec1adf5bd1b 100755 (executable)
@@ -262,6 +262,7 @@ pseries)
     if [ "$format" != "elf32ppc" ]; then
        link_address=
        pie=-pie
+       notext='-z notext'
     fi
     make_space=n
     ;;