aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2002-02-25 23:31:22 +0000
committerAlan Modra <amodra@gmail.com>2002-02-25 23:31:22 +0000
commitc8e5ddc83f538e67cb17a26d7f54853beeca7c7b (patch)
tree80cec38d6458855a9db63d96a69bc4707d93e610 /bfd/elflink.h
parent4bcb061667c9558a92e8a7c107f8dc19fbcc535b (diff)
downloadgdb-c8e5ddc83f538e67cb17a26d7f54853beeca7c7b.zip
gdb-c8e5ddc83f538e67cb17a26d7f54853beeca7c7b.tar.gz
gdb-c8e5ddc83f538e67cb17a26d7f54853beeca7c7b.tar.bz2
* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
dynsyms.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r--bfd/elflink.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 47927d3..76dbb19 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);