aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfcode.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2006-09-22 13:16:45 +0000
committerAlan Modra <amodra@gmail.com>2006-09-22 13:16:45 +0000
commit8384fb8f0c3c451f7aa8164fc87e162eb9816925 (patch)
treefead06b59caade8d3776b88a06b2b74c75b13e6b /bfd/elfcode.h
parent885afe7b6fda4324ac445cfdd9e37630f5061dc0 (diff)
downloadfsf-binutils-gdb-8384fb8f0c3c451f7aa8164fc87e162eb9816925.zip
fsf-binutils-gdb-8384fb8f0c3c451f7aa8164fc87e162eb9816925.tar.gz
fsf-binutils-gdb-8384fb8f0c3c451f7aa8164fc87e162eb9816925.tar.bz2
* elfcode.h (elf_swap_symbol_in): Return bfd_boolean. Don't abort
on error. * elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl. (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise. * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in, and report error. * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
Diffstat (limited to 'bfd/elfcode.h')
-rw-r--r--bfd/elfcode.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index a285a13..d58cf34 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -166,7 +166,7 @@ static void elf_debug_file (Elf_Internal_Ehdr *);
/* Translate an ELF symbol in external format into an ELF symbol in internal
format. */
-void
+bfd_boolean
elf_swap_symbol_in (bfd *abfd,
const void *psrc,
const void *pshn,
@@ -188,9 +188,10 @@ elf_swap_symbol_in (bfd *abfd,
if (dst->st_shndx == SHN_XINDEX)
{
if (shndx == NULL)
- abort ();
+ return FALSE;
dst->st_shndx = H_GET_32 (abfd, shndx->est_shndx);
}
+ return TRUE;
}
/* Translate an ELF symbol in internal format into an ELF symbol in external