mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
Don't use dynamic_sec_flags on PLT .eh_frame section
* elf32-i386.c (elf_i386_create_dynamic_sections): Don't use dynamic_sec_flags to create PLT .eh_frame section. * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
This commit is contained in:
parent
9cf8b46e48
commit
bbf96e4eef
@ -1,3 +1,9 @@
|
||||
2012-05-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf32-i386.c (elf_i386_create_dynamic_sections): Don't use
|
||||
dynamic_sec_flags to create PLT .eh_frame section.
|
||||
* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
|
||||
|
||||
2012-05-25 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/13909
|
||||
|
@ -1018,12 +1018,11 @@ elf_i386_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info)
|
||||
&& htab->plt_eh_frame == NULL
|
||||
&& htab->elf.splt != NULL)
|
||||
{
|
||||
flagword flags = get_elf_backend_data (dynobj)->dynamic_sec_flags;
|
||||
flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
|
||||
| SEC_HAS_CONTENTS | SEC_IN_MEMORY
|
||||
| SEC_LINKER_CREATED);
|
||||
htab->plt_eh_frame
|
||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame",
|
||||
(flags
|
||||
| SEC_LINKER_CREATED
|
||||
| SEC_READONLY));
|
||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame", flags);
|
||||
if (htab->plt_eh_frame == NULL
|
||||
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 2))
|
||||
return FALSE;
|
||||
|
@ -982,12 +982,11 @@ elf_x86_64_create_dynamic_sections (bfd *dynobj,
|
||||
&& htab->plt_eh_frame == NULL
|
||||
&& htab->elf.splt != NULL)
|
||||
{
|
||||
flagword flags = get_elf_backend_data (dynobj)->dynamic_sec_flags;
|
||||
flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
|
||||
| SEC_HAS_CONTENTS | SEC_IN_MEMORY
|
||||
| SEC_LINKER_CREATED);
|
||||
htab->plt_eh_frame
|
||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame",
|
||||
(flags
|
||||
| SEC_LINKER_CREATED
|
||||
| SEC_READONLY));
|
||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame", flags);
|
||||
if (htab->plt_eh_frame == NULL
|
||||
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 3))
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user