aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-11-29 17:40:29 +0000
committerPaul Brook <paul@codesourcery.com>2006-11-29 17:40:29 +0000
commit0eaedd0eb68e6b71c75b1f8d2d9d62a12bde3e9e (patch)
tree1cf22c37101aeb3f0b22f24d31862388b845fd2a /bfd/elf32-arm.c
parent00249aaae7d7cb22e216966cea456be188810cdf (diff)
downloadgdb-0eaedd0eb68e6b71c75b1f8d2d9d62a12bde3e9e.zip
gdb-0eaedd0eb68e6b71c75b1f8d2d9d62a12bde3e9e.tar.gz
gdb-0eaedd0eb68e6b71c75b1f8d2d9d62a12bde3e9e.tar.bz2
2006-11-29 Paul Brook <paul@codesourcery.com>
bfd/ * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output section is present. (allocate_dynrelocs): Only add export stub for symbols defined in this object.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 86e8bff..881bd60 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3380,6 +3380,9 @@ elf32_arm_to_thumb_export_stub (struct elf_link_hash_entry *h, void * inf)
BFD_ASSERT (s->output_section != NULL);
sec = eh->export_glue->root.u.def.section;
+
+ BFD_ASSERT (sec->output_section != NULL);
+
val = eh->export_glue->root.u.def.value + sec->output_offset
+ sec->output_section->vma;
myh = elf32_arm_create_thumb_stub (info, h->root.root.string,
@@ -7749,6 +7752,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
/* Allocate stubs for exported Thumb functions on v4t. */
if (!htab->use_blx && h->dynindx != -1
+ && h->def_regular
&& ELF_ST_TYPE (h->type) == STT_ARM_TFUNC
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
{