From 41ed1ee7a643d280824474a28074cb4c96a57a1e Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 29 Mar 2010 20:42:55 +0000 Subject: [PATCH] bfd/ * elf32-arm.c (using_thumb_only): Handle v6-M. ld/testsuite/ * ld-arm/arm-elf.exp (armeabitests): Add v6-M farcall test. --- bfd/ChangeLog | 4 ++++ bfd/elf32-arm.c | 3 +++ ld/testsuite/ChangeLog | 4 ++++ ld/testsuite/ld-arm/arm-elf.exp | 7 +++++-- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 97bf5a4a65..770d00e1f7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2010-03-29 Daniel Jacobowitz + + * elf32-arm.c (using_thumb_only): Handle v6-M. + 2010-03-26 Alan Modra * elf32-ppc.c (ppc_elf_howto_raw ): Not pc-relative. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 565861ef1b..cebb30228b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -2985,6 +2985,9 @@ using_thumb_only (struct elf32_arm_link_hash_table *globals) Tag_CPU_arch); int profile; + if (arch == TAG_CPU_ARCH_V6_M || arch == TAG_CPU_ARCH_V6S_M) + return TRUE; + if (arch != TAG_CPU_ARCH_V7 && arch != TAG_CPU_ARCH_V7E_M) return FALSE; diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index e8f3f598aa..f7aeed7546 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-03-29 Daniel Jacobowitz + + * ld-arm/arm-elf.exp (armeabitests): Add v6-M farcall test. + 2010-03-25 Joseph Myers * ld-elf/flags1.d, ld-elf/merge.d: XFAIL for tic6x-*-*. diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 26552b9a05..5c4351b4b6 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -371,16 +371,19 @@ set armeabitests { {"Thumb-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb-blx.d}} "farcall-thumb-thumb-blx"} - {"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7m" {farcall-thumb-thumb.s} + {"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7-m" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb-m.d}} "farcall-thumb-thumb-m"} + {"Thumb-Thumb farcall v6-M" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv6-m" {farcall-thumb-thumb.s} + {{objdump -d farcall-thumb-thumb-m.d}} + "farcall-thumb-thumb-v6-m"} {"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv4t" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb.d}} "farcall-thumb-thumb"} {"Thumb-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}} "farcall-thumb-thumb-blx-pic-veneer"} - {"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7m" {farcall-thumb-thumb.s} + {"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7-m" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb-m-pic-veneer.d}} "farcall-thumb-thumb-m-pic-veneer"} {"Thumb-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv4t" {farcall-thumb-thumb.s} -- 2.34.1