bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/2657] New: Incorrect assumption on the CIE/FDE alignment


From: hjl at lucon dot org
Subject: [Bug ld/2657] New: Incorrect assumption on the CIE/FDE alignment
Date: 12 May 2006 16:55:22 -0000

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]