This patch http://sourceware.org/ml/binutils/2004-11/msg00226.html
introduced size_of_output_cie_fde to compute the size of CIE/FDE: size_of_output_cie_fde (struct eh_cie_fde *entry, unsigned int alignment) offset += size_of_output_cie_fde (ent, ptr_size); new_size = size_of_output_cie_fde (ent, ptr_size); new_size = size_of_output_cie_fde (ent, ptr_size); It asssumed that CIE/FDE were aligned at the pointer size. But there are no such a requirment. On RHEL3 U7/x86-64, File: libc.a(sysdep.o) The section .eh_frame contains: 00000000 00000012 00000000 CIE Version: 1 Augmentation: "zR" Code alignment factor: 1 Data alignment factor: -8 Return address column: 16 Augmentation data: 1b DW_CFA_def_cfa: r7 ofs 8 DW_CFA_offset: r16 at cfa-8 00000016 00000016 0000001a FDE cie=00000000 pc=00000000..00000014 DW_CFA_advance_loc: 4 to 00000004 DW_CFA_def_cfa_offset: 16 DW_CFA_advance_loc: 6 to 0000000a DW_CFA_def_cfa_offset: 8 DW_CFA_nop DW_CFA_nop DW_CFA_nop The second FDE isn't aligned at 8 byte. -- Summary: Incorrect assumption on the CIE/FDE alignment Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: hjl at lucon dot org CC: bug-binutils at gnu dot org http://sourceware.org/bugzilla/show_bug.cgi?id=2657 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils