From 0eaedd0eb68e6b71c75b1f8d2d9d62a12bde3e9e Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Wed, 29 Nov 2006 17:40:29 +0000 Subject: [PATCH] 2006-11-29 Paul Brook 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. --- bfd/ChangeLog | 14 ++++++++++++++ bfd/elf32-arm.c | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0aee9b3..d68e876 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,4 +1,18 @@ 2006-11-29 Paul Brook + + * 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. + +2006-11-29 Paul Brook + + * 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. + +2006-11-29 Paul Brook Julian Brown * elf32-arm.c (copy_eabi_attributes): Correct starting offset. 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) { -- 2.7.4