On 2016.03.17 at 16:04 +0000, Matt Godbolt wrote: > Hi again, > > I managed to get GCC5.2.0 building against binutils 2.26: > > $ ~/.fighome/runtime/gcc/5.2.0-2/bin/ld.gold --version > GNU gold (DRW-internal-build 2.26.20160125) 1.11 > > Sadly the problem remains: > > Dump of assembler code for function std::_List_node<std::function<void ()> > >::~_List_node(): > 0x0000000000762240 <+0>: push %rbp > 0x0000000000762241 <+1>: mov %rsp,%rbp > 0x0000000000762244 <+4>: sub $0x10,%rsp > 0x0000000000762248 <+8>: mov %rdi,-0x8(%rbp) > 0x000000000076224c <+12>: mov -0x8(%rbp),%rax > 0x0000000000762250 <+16>: add $0x10,%rax > 0x0000000000762254 <+20>: mov %rax,%rdi > 0x0000000000762257 <+23>: callq 0x0 > 0x000000000076225c <+28>: nop > 0x000000000076225d <+29>: leaveq > 0x000000000076225e <+30>: retq > End of assembler dump. > > Any thoughts on what flags I might give to gold to try and track this down? > I tried -Wl,--debug,all and there didn't seem to be all that much debug > information. Before digging into gold I would rule out other possible issues first: - Are both projects using the same libstdc++ ABI? There was a new implementation of std::list for gcc-5. See: http://gcc.gnu.org/gcc-5/changes.html#libstdcxx - Are there any one-definition-rule issues? Or any other possible undefined behavior? Try building everything with -fsanitize=undefined and see if anything pops up. If nothing helps then please try again to come up with a testcase and open a http://sourceware.org/bugzilla/ gold bug. -- Markus