On 11/13/2014 03:55 PM, H.J. Lu wrote: > x86-64 psABI has > > name@GOT: specifies the offset to the GOT entry for the symbol name > from the base of the GOT. > > name@GOTPLT: specifies the offset to the GOT entry for the symbol name > from the base of the GOT, implying that there is a corresponding PLT entry. > > But GCC never generates name@GOTPLT and assembler fails to assemble > it: > > [hjl@gnu-6 pr17598]$ cat x.S > movabs $foo@GOTPLT,%rax > [hjl@gnu-6 pr17598]$ gcc -c x.S > x.S: Assembler messages: > x.S:1: Error: relocated field and relocation type differ in signedness
Presumably that's a bug, since it does work with .quad. > Does anyone remember what it was supposed to be used for? Presumably some sort of non-C language where you need a non-local function pointer, but it need not be canonical, and thus could be lazily bound. But I don't know exactly when that would be. r~