[prev in list] [next in list] [prev in thread] [next in thread]
List: binutils
Subject: Fix farcalls on ARM v6-M
From: Daniel Jacobowitz <dan () codesourcery ! com>
Date: 2010-03-29 20:44:03
Message-ID: 20100329204402.GW9310 () caradoc ! them ! org
[Download RAW message or body]
ARM v7-M isn't the only platform where we can't use ARM mode; there's
also ARM v6-M (Cortex-M1, et cetera).
I've checked in this obvious patch. Tested on arm-none-eabi.
--
Daniel Jacobowitz
CodeSourcery
2010-03-29 Daniel Jacobowitz <dan@codesourcery.com>
* elf32-arm.c (using_thumb_only): Handle v6-M.
2010-03-29 Daniel Jacobowitz <dan@codesourcery.com>
* ld-arm/arm-elf.exp (armeabitests): Add v6-M farcall test.
Index: bfd/elf32-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-arm.c,v
retrieving revision 1.230
diff -u -p -r1.230 elf32-arm.c
--- bfd/elf32-arm.c 19 Mar 2010 17:04:17 -0000 1.230
+++ bfd/elf32-arm.c 29 Mar 2010 20:41:16 -0000
@@ -2985,6 +2985,9 @@ using_thumb_only (struct elf32_arm_link_
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;
Index: ld/testsuite/ld-arm/arm-elf.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-arm/arm-elf.exp,v
retrieving revision 1.74
diff -u -p -r1.74 arm-elf.exp
--- ld/testsuite/ld-arm/arm-elf.exp 2 Mar 2010 11:40:23 -0000 1.74
+++ ld/testsuite/ld-arm/arm-elf.exp 29 Mar 2010 20:41:16 -0000
@@ -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}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic