http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46319
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2010-11-05 23:27:51 UTC --- -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1 miscompiled selfassign.so. It generated: [...@gnu-32 stage1-gcc]$ nm selfassign.so | grep plugin_init 00000000000009aa T plugin_init [...@gnu-32 stage1-gcc]$ 0000000000009aa <check_operator_eq>: 9aa: 90 nop 9ab: 90 nop 9ac: 90 nop 9ad: 90 nop 9ae: 90 nop 9af: 90 nop Everything seems wrong. With gold as plugin linker, I got [...@scel-amdbar2 gcc]$ nm selfassign.so | grep plugin_init 00000000000020ac T plugin_init [...@scel-amdbar2 gcc]$ 00000000000020ac <plugin_init>: 20ac: 41 57 push %r15 20ae: 41 56 push %r14 20b0: 41 55 push %r13 20b2: 41 54 push %r12 20b4: 55 push %rbp 20b5: 53 push %rbx 20b6: 48 83 ec 38 sub $0x38,%rsp 20ba: 48 89 f0 mov %rsi,%rax 20bd: 4c 8b 2f mov (%rdi),%r13 20c0: 44 8b 67 10 mov 0x10(%rdi),%r12d 20c4: 48 8b 6f 18 mov 0x18(%rdi),%rbp 20c8: 48 8d 35 11 1c 00 00 lea 0x1c11(%rip),%rsi # 3ce0