Don't check relocations in excluded sections
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 21 Apr 2016 00:10:55 +0000 (17:10 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 21 Apr 2016 00:11:04 +0000 (17:11 -0700)
When checking relocations after gc-sections has run, the unused sections
have been removed.  Don't check relocations in excluded sections.

* elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
in excluded sections

bfd/ChangeLog
bfd/elflink.c

index 73b0b4d1875c51111e487a8e17050b326f2ac188..57bb506162f07409f5670009208ccdf9ce8c6f0d 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
+       in excluded sections
+
 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19969
index 5af334ad172f3b2098dd814f7de6ccc834332a10..b432384bd7d93a2f442269506a15a3f440a189dc 100644 (file)
@@ -3518,7 +3518,9 @@ _bfd_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
          Elf_Internal_Rela *internal_relocs;
          bfd_boolean ok;
 
+         /* Don't check relocations in excluded sections.  */
          if ((o->flags & SEC_RELOC) == 0
+             || (o->flags & SEC_EXCLUDE) != 0
              || o->reloc_count == 0
              || ((info->strip == strip_all || info->strip == strip_debugger)
                  && (o->flags & SEC_DEBUGGING) != 0)