aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2008-02-04 00:09:04 +0000
committerAlan Modra <amodra@gmail.com>2008-02-04 00:09:04 +0000
commite44a2c9c3dd1e12fd2707c6407d3763fa8acae17 (patch)
treefc6ed5ac0f925500880dc82814b8cc27a316df3c /bfd/elf32-arm.c
parentce43ce4475d418368fcb46eca3d9457cb18e461c (diff)
downloadgdb-e44a2c9c3dd1e12fd2707c6407d3763fa8acae17.zip
gdb-e44a2c9c3dd1e12fd2707c6407d3763fa8acae17.tar.gz
gdb-e44a2c9c3dd1e12fd2707c6407d3763fa8acae17.tar.bz2
PR ld/5692
* elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31. Instead abort on non-ELF input. * elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue processing on non-ELF input.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 3146499..b9bc502 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1,6 +1,6 @@
/* 32-bit ELF support for ARM
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
- Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+ 2008 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -8524,6 +8524,11 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
Elf_Internal_Shdr *symtab_hdr;
asection *srel;
+ /* FIXME: Here and elsewhere the test for an ELF input BFD is
+ not sufficiently strict. Since we use elf32_arm_tdata and
+ elf32_arm_section_data, we should only allow those targets
+ that in fact have such data. This of course is the set of
+ targets defined in this file. */
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
continue;
@@ -8601,6 +8606,9 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
/* Here we rummage through the found bfds to collect glue information. */
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
{
+ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+ continue;
+
/* Initialise mapping tables for code/data. */
bfd_elf32_arm_init_maps (ibfd);