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]