summaryrefslogtreecommitdiff
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
commit241934aa94784279c37499429d39a3485fdb9903 (patch)
treea4bdd7781f5ebcb384012132b372beaa730f66c4 /bfd/elf32-arm.c
parent3cbee5fdb4913d6d4dda74ce73daafd174ee6aae (diff)
downloadgdb-241934aa94784279c37499429d39a3485fdb9903.tar.gz
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 86e8bff4882..881bd6013e9 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)
{