aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
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/elf32-arm.c
parent885afe7b6fda4324ac445cfdd9e37630f5061dc0 (diff)
downloadgdb-8384fb8f0c3c451f7aa8164fc87e162eb9816925.zip
gdb-8384fb8f0c3c451f7aa8164fc87e162eb9816925.tar.gz
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/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index f46b6ae..337f959 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -9338,13 +9338,14 @@ elf32_arm_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED,
/* Mangle thumb function symbols as we read them in. */
-static void
+static bfd_boolean
elf32_arm_swap_symbol_in (bfd * abfd,
const void *psrc,
const void *pshn,
Elf_Internal_Sym *dst)
{
- bfd_elf32_swap_symbol_in (abfd, psrc, pshn, dst);
+ if (!bfd_elf32_swap_symbol_in (abfd, psrc, pshn, dst))
+ return FALSE;
/* New EABI objects mark thumb function symbols by setting the low bit of
the address. Turn these into STT_ARM_TFUNC. */
@@ -9354,6 +9355,7 @@ elf32_arm_swap_symbol_in (bfd * abfd,
dst->st_info = ELF_ST_INFO (ELF_ST_BIND (dst->st_info), STT_ARM_TFUNC);
dst->st_value &= ~(bfd_vma) 1;
}
+ return TRUE;
}