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

--- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Thanks. I agree that inferring address significance on the linker side is
problematic.

Thinking about your original request, I was about to say that it would be very
reasonable to do under -fno-plt flag, but then I found it was already
implemented for x86-64 in gcc-7 and for 32-bit x86 in gcc-8. Compiling

int f();
void *g()
{
  return f;
}

with -fno-pic -fno-plt yields

g:
        movq    f@GOTPCREL(%rip), %rax
        ret

(yields GOTPCRELX relocation) and

g:
        movl    f@GOT, %eax
        ret

on 32-bit (yields GOT32X relocation), so on x86 it's already implemented?

Reply via email to