summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-02-25 23:31:22 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-02-25 23:31:22 +0000
commit1792984c2237ac8413ad1ff0d4f0ad73050ec0c7 (patch)
tree383c2bac71ef346b7d6faa7c2071778d1858c274
parent9e81fba97c11cdebab699f396fd67b584f6ce432 (diff)
downloadgdb-1792984c2237ac8413ad1ff0d4f0ad73050ec0c7.tar.gz
* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
dynsyms.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f140ff17ad1..a381bfc63b6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-26 Andrew Macleod <amacleod@cygnus.com>
+
+ * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
+ dynsyms.
+
2002-02-25 Alan Modra <amodra@bigpond.net.au>
* elf64-hppa.h: Update copyright date.
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 47927d3830e..76dbb195b51 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -1,5 +1,5 @@
/* ELF linker support.
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -5375,8 +5375,9 @@ elf_bfd_final_link (abfd, info)
the original st_name with the dynstr_index. */
sym = e->isym;
- if (e->isym.st_shndx < SHN_LORESERVE
- || e->isym.st_shndx > SHN_HIRESERVE)
+ if (e->isym.st_shndx != SHN_UNDEF
+ && (e->isym.st_shndx < SHN_LORESERVE
+ || e->isym.st_shndx > SHN_HIRESERVE))
{
s = bfd_section_from_elf_index (e->input_bfd,
e->isym.st_shndx);