aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-12-04 08:57:09 +0000
committerJan Beulich <jbeulich@novell.com>2006-12-04 08:57:09 +0000
commiteb3d5f3b94495740ddeedc7282baaa2b79de99cd (patch)
tree98d6cc69095979c67955ffdec6505554845b25d4 /bfd/elflink.c
parentd807a492c6640cad84bfba13c2266747b407b521 (diff)
downloadgdb-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/elflink.c')
-rw-r--r--bfd/elflink.c16
1 files changed, 3 insertions, 13 deletions
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;