diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2016-04-20 17:10:55 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-04-20 17:11:04 -0700 |
commit | 5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064 (patch) | |
tree | 0bdfc4dd8ffda9077c60ddc5a176c46936da0147 | |
parent | fbf05aa70d7a6ad3dd92ca718faa4bb383b975ee (diff) | |
download | gdb-5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064.zip gdb-5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064.tar.gz gdb-5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064.tar.bz2 |
Don't check relocations in excluded sections
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
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 73b0b4d..57bb506 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 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 * elf64-x86-64.c (check_relocs_failed): New. (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs. diff --git a/bfd/elflink.c b/bfd/elflink.c index 5af334a..b432384 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -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) |