diff options
author | Alan Modra <amodra@bigpond.net.au> | 2006-09-22 13:16:45 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2006-09-22 13:16:45 +0000 |
commit | 3b9cac883cd99184e3a311cac39cae67e1c59691 (patch) | |
tree | 5e7ab72316c5ab714f881b21639bffe150c94af9 /bfd/elfcode.h | |
parent | 107934f60b107e5aa019466909a1e3185e962ece (diff) | |
download | gdb-3b9cac883cd99184e3a311cac39cae67e1c59691.tar.gz |
* 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.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bfd/elfcode.h b/bfd/elfcode.h index a285a133088..d58cf344718 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 |