From 3e1a8f9569478157ee932e35de928beb211f5df4 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sat, 26 Dec 2015 10:24:58 +0800 Subject: [PATCH] Add test for ARMv6-M farcall with no profile info 2015-12-24 Thomas Preud'homme ld/testsuite/ * ld-arm/arm-elf.exp: Run new test "Thumb-Thumb farcall v6-M (no profile)". * ld-arm/farcall-thumb-thumb-m-no-profile-a.s: New file. * ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Likewise. * ld-arm/farcall-thumb-thumb-m-no-profile.d: Likewise. --- ld/testsuite/ChangeLog | 8 ++++++++ ld/testsuite/ld-arm/arm-elf.exp | 4 ++++ .../ld-arm/farcall-thumb-thumb-m-no-profile-a.s | 8 ++++++++ .../ld-arm/farcall-thumb-thumb-m-no-profile-b.s | 8 ++++++++ .../ld-arm/farcall-thumb-thumb-m-no-profile.d | 24 ++++++++++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s create mode 100644 ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s create mode 100644 ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 879aab4..bcbd203 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-12-26 Thomas Preud'homme + + * ld-arm/arm-elf.exp: Run new test "Thumb-Thumb farcall v6-M (no + profile)". + * ld-arm/farcall-thumb-thumb-m-no-profile-a.s: New file. + * ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Likewise. + * ld-arm/farcall-thumb-thumb-m-no-profile.d: Likewise. + 2015-12-24 Thomas Preud'homme * ld-arm/arm-elf.exp (armeabitests_common): Run new tests diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 724e338..2a10177 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -481,6 +481,10 @@ set armeabitests_nonacl { {"Thumb-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv4t" {farcall-thumb-thumb.s} {{objdump -d farcall-thumb-thumb-pic-veneer.d}} "farcall-thumb-thumb-pic-veneer"} + {"Thumb-Thumb farcall v6-M (no profile)" "-Ttext 0x1000" "" "" + {farcall-thumb-thumb-m-no-profile-a.s farcall-thumb-thumb-m-no-profile-b.s} + {{objdump -d farcall-thumb-thumb-m-no-profile.d}} + "farcall-thumb-thumb-m-no-profile"} {"Thumb-ARM farcall" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "" "-W" {farcall-thumb-arm.s} {{objdump -d farcall-thumb-arm.d}} diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s new file mode 100644 index 0000000..cecd5a5 --- /dev/null +++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s @@ -0,0 +1,8 @@ + .eabi_attribute Tag_CPU_arch, 11 @ V6-M + .thumb + .type _start, function + .global _start + .text +_start: + bl myfunc + b . diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s new file mode 100644 index 0000000..6590021 --- /dev/null +++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s @@ -0,0 +1,8 @@ + .eabi_attribute Tag_CPU_arch, 11 @ V6-M + .thumb + .type myfunc, function + .global myfunc + .text + .space 102400000 +myfunc: + bx lr diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d new file mode 100644 index 0000000..639fe5a --- /dev/null +++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d @@ -0,0 +1,24 @@ +.*: file format .* + +Disassembly of section .text: + +00001000 <_start>: + 1000: f000 f802 bl 1008 <__myfunc_veneer> + 1004: e7fe b.n 1004 <_start\+0x4> + \.\.\. + +00001008 <__myfunc_veneer>: + 1008: b401 push {r0} + 100a: 4802 ldr r0, \[pc, #8\] ; \(1014 <__myfunc_veneer\+0xc>\) + 100c: 4684 mov ip, r0 + 100e: bc01 pop {r0} + 1010: 4760 bx ip + 1012: bf00 nop + 1014: 061a9019 .word 0x061a9019 + \.\.\. + +00080000 <_stack>: + \.\.\. + +061a9018 : + 61a9018: 4770 bx lr -- 2.7.4