http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58278
--- Comment #2 from Martin Husemann <martin at netbsd dot org> --- Compare with this on amd64: > c++ -o plain.s -S conftest.cc > c++ -o shared.s -fPIC -shared -S conftest.cc > diff -u plain.s shared.s --- plain.s 2013-08-30 21:46:18.000000000 +0200 +++ shared.s 2013-08-30 21:46:25.000000000 +0200 @@ -10,7 +10,7 @@ movq %rsp, %rbp .cfi_offset 6, -16 .cfi_def_cfa_register 6 - call _ZN10TestStruct4InitEv + call _ZN10TestStruct4InitEv@PLT popq %rbp .cfi_def_cfa 7, 8 ret while on sparc (and sparc64) there is no difference. See bug 26905 for details.