[Bug rtl-optimization/78561] Constant pool size (offset) can become stale where constant pool entires become unused
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Dec 3 16:06:00 GMT 2016
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.
More information about the Gcc-bugs
mailing list