aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-08-07 18:02:49 +0930
committerAlan Modra <amodra@gmail.com>2017-08-07 21:26:09 +0930
commitb3293efaf8ddef1eba52de14be47e3d33bbce35a (patch)
tree6172bda76041f31165b5bdc6aa55c912ef8fb800 /bfd
parent74cbb09e74dda17fc79e2ce709116780a90310ef (diff)
downloadgdb-b3293efaf8ddef1eba52de14be47e3d33bbce35a.zip
gdb-b3293efaf8ddef1eba52de14be47e3d33bbce35a.tar.gz
gdb-b3293efaf8ddef1eba52de14be47e3d33bbce35a.tar.bz2
PR21910, segfault in common symbol override test when hash-style=gnu
PR 21910 * elflink.c (bfd_elf_final_link): Don't segfault when sections needed to define various dynamic tags have been discarded.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 694675f..5d04571 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-07 Alan Modra <amodra@gmail.com>
+
+ PR 21910
+ * elflink.c (bfd_elf_final_link): Don't segfault when sections
+ needed to define various dynamic tags have been discarded.
+
2017-08-07 Nick Clifton <nickc@redhat.com>
PR 21884
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 0cc5f87..b89d537 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -12342,7 +12342,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
get_vma:
o = bfd_get_linker_section (dynobj, name);
do_vma:
- if (o == NULL)
+ if (o == NULL || bfd_is_abs_section (o->output_section))
{
_bfd_error_handler
(_("could not find section %s"), name);