diff options
author | Jan Beulich <jbeulich@novell.com> | 2006-12-04 08:57:09 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2006-12-04 08:57:09 +0000 |
commit | eb3d5f3b94495740ddeedc7282baaa2b79de99cd (patch) | |
tree | 98d6cc69095979c67955ffdec6505554845b25d4 /bfd | |
parent | d807a492c6640cad84bfba13c2266747b407b521 (diff) | |
download | gdb-eb3d5f3b94495740ddeedc7282baaa2b79de99cd.zip gdb-eb3d5f3b94495740ddeedc7282baaa2b79de99cd.tar.gz gdb-eb3d5f3b94495740ddeedc7282baaa2b79de99cd.tar.bz2 |
bfd/
2006-12-04 Jan Beulich <jbeulich@novell.com>
* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
.eh_frame_hdr section from here anymore.
(bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
a little earlier.
ld/
2006-12-04 Jan Beulich <jbeulich@novell.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Create
.eh_frame_hdr section here.
ld/testsuite/
2006-12-04 Jan Beulich <jbeulich@novell.com>
* ld-elf/eh-frame-hdr.d: New.
* ld-elf/eh-frame-hdr.s: New.
* ld-ia64/tlsbin.dd, ld-ia64/tlsbin.sd: Don't depend on exact linkage
table layout.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elflink.c | 16 |
2 files changed, 10 insertions, 13 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index dbbddd5..92cfcd6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2006-12-04 Jan Beulich <jbeulich@novell.com> + + * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create + .eh_frame_hdr section from here anymore. + (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr + a little earlier. + 2006-12-01 H.J. Lu <hongjiu.lu@intel.com> PR binutils/3609 diff --git a/bfd/elflink.c b/bfd/elflink.c index b250758..b0227d8 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -185,16 +185,6 @@ _bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; } - if (! info->traditional_format) - { - s = bfd_make_section_with_flags (abfd, ".eh_frame_hdr", - flags | SEC_READONLY); - if (s == NULL - || ! bfd_set_section_alignment (abfd, s, 2)) - return FALSE; - elf_hash_table (info)->eh_info.hdr_sec = s; - } - /* Create sections to hold version informations. These are removed if they are not needed. */ s = bfd_make_section_with_flags (abfd, ".gnu.version_d", @@ -5281,6 +5271,9 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, && ! (*bed->elf_backend_always_size_sections) (output_bfd, info)) return FALSE; + if (! _bfd_elf_maybe_strip_eh_frame_hdr (info)) + return FALSE; + dynobj = elf_hash_table (info)->dynobj; /* If there were no dynamic objects in the link, there is nothing to @@ -5288,9 +5281,6 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, if (dynobj == NULL) return TRUE; - if (! _bfd_elf_maybe_strip_eh_frame_hdr (info)) - return FALSE; - if (elf_hash_table (info)->dynamic_sections_created) { struct elf_info_failed eif; |