aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf.c7
2 files changed, 10 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8518e41..f344edb 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+Fri Sep 25 15:03:22 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+
+ * elf.c (section_from_elf_index): Return bfd_abs_section, not 0,
+ since we should never have a NULL section.
+ (elf_slurp_symbol_table): If st_shndx doesn't match any of our
+ tests, set the section to bfd_abs_section.
+
Fri Sep 25 11:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* coff-z8k.c: getting closer
diff --git a/bfd/elf.c b/bfd/elf.c
index 2290f62..75bbb5b 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -425,7 +425,6 @@ DEFUN(bfd_section_from_shdr, (abfd, shindex),
return true;
case SHT_PROGBITS:
- case SHT_BEPROGBITS:
case SHT_NOBITS:
/* Bits that get saved. This one is real. */
if (! hdr->rawdata )
@@ -1861,14 +1860,13 @@ DEFUN (section_from_elf_index, (abfd, index),
{
/* ELF sections that map to BFD sections */
case SHT_PROGBITS:
- case SHT_BEPROGBITS:
case SHT_NOBITS:
if (! hdr->rawdata)
bfd_section_from_shdr (abfd, index);
return (struct sec *)hdr->rawdata;
break;
default:
- return 0;
+ return (struct sec *)&bfd_abs_section;
}
}
@@ -1889,7 +1887,6 @@ DEFUN (elf_section_from_bfd_section, (abfd, asect),
{
/* ELF sections that map to BFD sections */
case SHT_PROGBITS:
- case SHT_BEPROGBITS:
case SHT_NOBITS:
if (hdr->rawdata)
{
@@ -1993,6 +1990,8 @@ how Sun hacked stabs. -- gnu@cygnus.com */
{
sym -> section = &bfd_und_section;
}
+ else
+ sym -> section = &bfd_abs_section;
switch (ELF_ST_BIND (i_sym.st_info))
{