From 1d022697d9081c6c39c3aa950c245bff518ebce7 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Tue, 7 Feb 2006 03:50:20 +0000 Subject: 2006-02-07 Paul Brook ld/ * emultempl/armelf.em: Include elf/arm.h. (arm_elf_finish): Set low address bit if enty point is a Thumb function. ld/testsuite/ * ld-arm/arm-elf.exp: Add thumb-entry test. * ld-arm/thumb-entry.d: New test. * ld-arm/thumb-entry.s: New test. --- ld/emultempl/armelf.em | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'ld/emultempl') diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index 71498da..bd74ab5 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -26,6 +26,8 @@ test -z "$TARGET2_TYPE" && TARGET2_TYPE="rel" cat >>e${EMULATION_NAME}.c <type) != STT_ARM_TFUNC) + return; + } - h = bfd_link_hash_lookup (link_info.hash, thumb_entry_symbol, - FALSE, FALSE, TRUE); if (h != (struct bfd_link_hash_entry *) NULL && (h->type == bfd_link_hash_defined @@ -180,7 +196,8 @@ arm_elf_finish (void) sprintf_vma (buffer + 2, val); - if (entry_symbol.name != NULL && entry_from_cmdline) + if (thumb_entry_symbol != NULL && entry_symbol.name != NULL + && entry_from_cmdline) einfo (_("%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"), thumb_entry_symbol, entry_symbol.name); entry_symbol.name = buffer; -- cgit v1.1