https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70146
--- Comment #3 from Andy Lutomirski <luto at kernel dot org> --- I think a similar optimization could be applied to default-visibility references as well. For example, gcc can generate things like this: call __x86.get_pc_thunk.ax addl $_GLOBAL_OFFSET_TABLE_, %eax movl foo@GOT(%eax), %eax The addl is unnecessary.