mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 12:23:31 +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:
@ -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>
|
2012-05-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR ld/13909
|
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->plt_eh_frame == NULL
|
||||||
&& htab->elf.splt != 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
|
htab->plt_eh_frame
|
||||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame",
|
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame", flags);
|
||||||
(flags
|
|
||||||
| SEC_LINKER_CREATED
|
|
||||||
| SEC_READONLY));
|
|
||||||
if (htab->plt_eh_frame == NULL
|
if (htab->plt_eh_frame == NULL
|
||||||
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 2))
|
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 2))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -982,12 +982,11 @@ elf_x86_64_create_dynamic_sections (bfd *dynobj,
|
|||||||
&& htab->plt_eh_frame == NULL
|
&& htab->plt_eh_frame == NULL
|
||||||
&& htab->elf.splt != 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
|
htab->plt_eh_frame
|
||||||
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame",
|
= bfd_make_section_anyway_with_flags (dynobj, ".eh_frame", flags);
|
||||||
(flags
|
|
||||||
| SEC_LINKER_CREATED
|
|
||||||
| SEC_READONLY));
|
|
||||||
if (htab->plt_eh_frame == NULL
|
if (htab->plt_eh_frame == NULL
|
||||||
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 3))
|
|| !bfd_set_section_alignment (dynobj, htab->plt_eh_frame, 3))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Reference in New Issue
Block a user