diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-10-08 05:14:02 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-10-08 05:14:13 -0700 |
commit | 80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb (patch) | |
tree | c977e604ef6b5a8c3dc7fd5c02b5c92ebbb615b2 /bfd/elfxx-x86.c | |
parent | f3e660db14a0a95f3953496d8beb7c58ef34c6d5 (diff) | |
download | gdb-80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb.zip gdb-80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb.tar.gz gdb-80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb.tar.bz2 |
x86: Don't add GNU_PROPERTY_X86_FEATURE_2_NEEDED for -z separate-code
With
commit 64029e93683a266c38d19789e780f3748bd6a188
Author: Alan Modra <amodra@gmail.com>
Date: Fri Oct 5 11:40:54 2018 +0930
Separate header PT_LOAD for -z separate-code
there is no need to add a GNU_PROPERTY_X86_ISA_1_USED note to force
program header in in non-code PT_LOAD segment when -z separate-code
is used.
bfd/
PR ld/23428
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header
in non-code PT_LOAD segment.
ld/
PR ld/23428
* testsuite/ld-i386/property-x86-4a.d: Updated.
* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
Diffstat (limited to 'bfd/elfxx-x86.c')
-rw-r--r-- | bfd/elfxx-x86.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c index fc99b28..05f5c6a 100644 --- a/bfd/elfxx-x86.c +++ b/bfd/elfxx-x86.c @@ -2542,7 +2542,6 @@ _bfd_x86_elf_link_setup_gnu_properties const struct elf_backend_data *bed; unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2; unsigned int got_align; - bfd_boolean has_text = FALSE; features = 0; if (info->ibt) @@ -2557,14 +2556,6 @@ _bfd_x86_elf_link_setup_gnu_properties if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour && bfd_count_sections (pbfd) != 0) { - if (!has_text) - { - /* Check if there is no non-empty text section. */ - sec = bfd_get_section_by_name (pbfd, ".text"); - if (sec != NULL && sec->size != 0) - has_text = TRUE; - } - ebfd = pbfd; if (elf_properties (pbfd) != NULL) @@ -2590,42 +2581,6 @@ _bfd_x86_elf_link_setup_gnu_properties prop->u.number |= features; prop->pr_kind = property_number; } - else if (has_text - && elf_tdata (info->output_bfd)->o->build_id.sec == NULL - && !htab->elf.dynamic_sections_created - && !info->traditional_format - && (info->output_bfd->flags & D_PAGED) != 0 - && info->separate_code) - { - /* If the separate code program header is needed, make sure - that the first read-only PT_LOAD segment has no code by - adding a GNU_PROPERTY_X86_FEATURE_2_NEEDED note. */ - elf_property_list *list; - bfd_boolean need_property = TRUE; - - for (list = elf_properties (ebfd); list; list = list->next) - { - unsigned int pr_type = list->property.pr_type; - if (pr_type == GNU_PROPERTY_STACK_SIZE - || pr_type == GNU_PROPERTY_NO_COPY_ON_PROTECTED - || pr_type == GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED - || (pr_type >= GNU_PROPERTY_X86_UINT32_OR_LO - && pr_type <= GNU_PROPERTY_X86_UINT32_OR_HI)) - { - /* These properties won't be removed during merging. */ - need_property = FALSE; - break; - } - } - - if (need_property) - { - prop = _bfd_elf_get_property - (ebfd, GNU_PROPERTY_X86_FEATURE_2_NEEDED, 4); - prop->u.number = GNU_PROPERTY_X86_FEATURE_2_X86; - prop->pr_kind = property_number; - } - } /* Create the GNU property note section if needed. */ if (prop != NULL && pbfd == NULL) |