Revert "Also check e_machine when merging sections"
authorAlan Modra <amodra@gmail.com>
Wed, 30 Sep 2015 22:08:07 +0000 (07:38 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 30 Sep 2015 22:11:28 +0000 (07:41 +0930)
Commit 9865bd0d added a bogus check in _bfd_elf_merge_sections.

bfd/
PR ld/19013
* elflink.c (_bfd_elf_merge_sections): Revert last change.
ld/testsuite/
* ld-x86-64/pr19013-x32.d: Update.

bfd/ChangeLog
bfd/elflink.c
ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/pr19013-x32.d

index 36109481d9b1f1029dc19e8c384aa313faa02535..76c8a5cd02fd7860f8205598d2cf755be61a8c7c 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-01  Alan Modra  <amodra@gmail.com>
+
+       PR ld/19013
+       * elflink.c (_bfd_elf_merge_sections): Revert last change.
+
 2015-09-30  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19031
index 70c231b4576709454aa50bb73c0df06d61861341..90af6cfdfa0db957995614c3185a762ca302337e 100644 (file)
@@ -6818,23 +6818,15 @@ _bfd_elf_merge_sections (bfd *obfd, struct bfd_link_info *info)
 {
   bfd *ibfd;
   asection *sec;
-  const struct elf_backend_data *bed;
 
   if (!is_elf_hash_table (info->hash))
     return FALSE;
 
-  bed = get_elf_backend_data (obfd);
   for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     if ((ibfd->flags & DYNAMIC) == 0
        && bfd_get_flavour (ibfd) == bfd_target_elf_flavour
-       && (elf_elfheader (ibfd)->e_ident[EI_CLASS] == bed->s->elfclass)
-       && (bed->elf_machine_code == elf_elfheader (ibfd)->e_machine
-           || (bed->elf_machine_alt1 != 0
-               && (bed->elf_machine_alt1
-                   == elf_elfheader (ibfd)->e_machine))
-           || (bed->elf_machine_alt2 != 0
-               && (bed->elf_machine_alt2
-                   == elf_elfheader (ibfd)->e_machine))))
+       && (elf_elfheader (ibfd)->e_ident[EI_CLASS]
+           == get_elf_backend_data (obfd)->s->elfclass))
       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
        if ((sec->flags & SEC_MERGE) != 0
            && !bfd_is_abs_section (sec->output_section))
index e73d09f341994224461036348dae14199bfbc3f2..b8724afd7bb99088f0ccdc21b278011178bc1e6e 100644 (file)
@@ -1,3 +1,7 @@
+2015-10-01  Alan Modra  <amodra@gmail.com>
+
+       * ld-x86-64/pr19013-x32.d: Update.
+
 2015-09-30  H.J. Lu  <hongjiu.lu@intel.com>
 
        * ld-x86-64/pr19013.d (ld): Add -m elf_x86_64.
index fb70966c27b9ac1e27225e8268ce1b30d7399d6f..97fb841996083778b73cdde5bf8de9c182759873 100644 (file)
@@ -5,5 +5,5 @@
 #notarget: x86_64-*-nacl*
 
 #...
- [0-9a-f]+ 00000203 00414243 4400 +.....ABCD. +
+ [0-9a-f]+ 02030041 42434400 +...ABCD. +
 #pass