[PATCH i386] Allow sibcalls in no-PLT PIC
H.J. Lu
hjl.tools@gmail.com
Fri May 15 23:35:00 GMT 2015
On Fri, May 15, 2015 at 4:14 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> My relax branch proposal works even without LTO.
>
I will borrow GOTPCREL from x86-64 and do
[hjl@gnu-6 relax-4]$ cat b.S
call *foo@GOTPCREL(%eax)
[hjl@gnu-6 relax-4]$ ./as -32 -o b.o b.S
[hjl@gnu-6 relax-4]$ ./objdump -dwr b.o
b.o: file format elf32-i386
Disassembly of section .text:
00000000 <.text>:
0: ff 90 fc ff ff ff call *-0x4(%eax) 2: R_386_RELAX_GOT32 foo
[hjl@gnu-6 relax-4]$
And linker can turn it into
relax call foo
if foo is defined locally.
--
H.J.
More information about the Gcc-patches
mailing list