http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57438
--- Comment #8 from Jack Howarth <howarth at nitro dot med.uc.edu> --- The darwin linker developer's analysis of the failing linkage of cc1 is below... The assertion is about the file libbackend.a(varasm.o). There are overlapping FDEs. If you run dwarfdump in verify mode, it will complain about it to:: [/tmp/newlinkerbug/lib]> dwarfdump --eh-frame --verify varasm.o ---------------------------------------------------------------------- File: varasm.o (x86_64) ---------------------------------------------------------------------- Verifying EH Frame... error: FDE row for address 0x0000000000005900 is not in the FDE address range. 0x000020e0: FDE length: 0x0000001c CIE_pointer: 0x00000000 start_addr: 0x0000000000005900 __Z24default_no_named_sectionPKcjP9tree_node range_size: 0x0000000000000000 (end_addr = 0x0000000000005900) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop Instructions: 0x0000000000005900: CFA=rsp+8 rip=[rsp] 1 errors found in EH frame for varasm.o (x86_64). Dumping the whole file, there is an FD for a zero length function, so two FDEs have the same function start address: 0x000020e0: FDE length: 0x0000001c CIE_pointer: 0x00000000 start_addr: 0x0000000000005900 __Z24default_no_named_sectionPKcjP9tree_node range_size: 0x0000000000000000 (end_addr = 0x0000000000005900) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop Instructions: 0x0000000000005900: CFA=rsp+8 rip=[rsp] 0x00002100: FDE alength: 0x0000006c CIE_pointer: 0x00000000 start_addr: 0x0000000000005900 __Z24default_no_named_sectionPKcjP9tree_node range_size: 0x0000000000000154 (end_addr = 0x0000000000005a54) Instructions: 0x0000000000005900: CFA=rsp+8 rip=[rsp]