https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78561

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |segher at gcc dot gnu.org

--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
patch 2/2 causes bootstrap failures on powerpc:

a-chahan.o: In function `ada__characters__handling__is_iso_646__2':
/home/segher/build/tot-master/gcc/ada/rts_32/a-chahan.adb:354:(.text+0x22a):
relocation truncated to fit: R_PPC_REL16 against undefined symbol `.LCL8'+e
a-chahan.o: In function `ada__characters__handling__is_string':
/home/segher/build/tot-master/gcc/ada/rts_32/a-chahan.adb:442:(.text+0x49a):
additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status

(this is while building the 32-bit libgnat-7.so; that uses -fPIC).

32-bit -fPIC generates code a la

===
        .globl f
.LCL0:
        .long .LCTOC1-.LCF0
        .type   f, @function
f:
        stwu 1,-16(1)
        mflr 0
        bcl 20,31,.LCF0
.LCF0:
        stw 0,20(1)
        stw 30,8(1)
        mflr 30
        lwz 0,.LCL0-.LCF0(30)
        add 30,0,30
===

and in the failing cases that .LCL0 went missing in action.

Reply via email to