From 65d1bc05e89e45b102783422c3984ed718547d5c Mon Sep 17 00:00:00 2001 From: Andre Vieira Date: Mon, 15 Apr 2019 11:42:10 +0100 Subject: [binutils, ARM, 9/16] New BFL instruction for Armv8.1-M Mainline This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils. This patch adds the BFL instruction. *** gas/ChangeLog *** 2019-04-15 Sudakshina Das Andre Vieira * config/tc-arm.c (T16_32_TAB): New entrie for bfl. (do_t_v8_1_branch): New switch case for bfl. (insns): New instruction for bfl. * testsuite/gas/arm/armv8_1-m-bfl.d: New. * testsuite/gas/arm/armv8_1-m-bfl.s: New. * testsuite/gas/arm/armv8_1-m-bfl-bad.s: New. * testsuite/gas/arm/armv8_1-m-bfl-bad.d: New. * testsuite/gas/arm/armv8_1-m-bfl-bad.l: New. * testsuite/gas/arm/armv8_1-m-bfl-rel.d: New. * testsuite/gas/arm/armv8_1-m-bfl-rel.s: New. *** ld/ChangeLog *** 2019-04-15 Sudakshina Das * testsuite/ld-arm/bfl.s: New. * testsuite/ld-arm/bfl.d: New. * testsuite/ld-arm/arm-elf.exp: Add above test. *** opcodes/ChangeLog *** 2019-04-15 Sudakshina Das * arm-dis.c (thumb32_opcodes): New instruction bfl. --- ld/ChangeLog | 6 ++++++ ld/testsuite/ld-arm/arm-elf.exp | 3 +++ ld/testsuite/ld-arm/bfl.d | 14 ++++++++++++++ ld/testsuite/ld-arm/bfl.s | 19 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 ld/testsuite/ld-arm/bfl.d create mode 100644 ld/testsuite/ld-arm/bfl.s (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index bc8c219..1e3ee39 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,11 @@ 2019-04-15 Sudakshina Das + * testsuite/ld-arm/bfl.s: New. + * testsuite/ld-arm/bfl.d: New. + * testsuite/ld-arm/arm-elf.exp: Add above test. + +2019-04-15 Sudakshina Das + * testsuite/ld-arm/bf.s: New. * testsuite/ld-arm/bf.d: New. * testsuite/ld-arm/arm-elf.exp: Add above test. diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index ef3a49c..528565e 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -670,6 +670,9 @@ set armeabitests_nonacl { {"Armv8.1-M Mainline BF" "-r -Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv8.1-m.main" {bf.s} {{objdump -dr bf.d}} "bf"} + {"Armv8.1-M Mainline BFL" "-r -Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv8.1-m.main" {bfl.s} + {{objdump -dr bfl.d}} + "bfl"} {"R_ARM_THM_JUMP24 Relocation veneers: Short 1" "--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" "" diff --git a/ld/testsuite/ld-arm/bfl.d b/ld/testsuite/ld-arm/bfl.d new file mode 100644 index 0000000..dcf3202 --- /dev/null +++ b/ld/testsuite/ld-arm/bfl.d @@ -0,0 +1,14 @@ + +.*: file format elf32-.*arm + + +Disassembly of section .text: + +00001000 <_start>: + 1000: f0ff c7ff bfl 2, 1001000 + 1000: R_ARM_THM_BF18 bar + +Disassembly of section .foo: + +01001000 : + 1001000: 4770 bx lr diff --git a/ld/testsuite/ld-arm/bfl.s b/ld/testsuite/ld-arm/bfl.s new file mode 100644 index 0000000..e9fb0a70 --- /dev/null +++ b/ld/testsuite/ld-arm/bfl.s @@ -0,0 +1,19 @@ + .global _start + .syntax unified + +@ We will place the section .text at 0x1000. + + .text + .thumb_func + +_start: + bfl 2, bar + +@ We will place the section .foo at 0x1001000. + + .section .foo, "xa" + .thumb_func + +bar: + bx lr + -- cgit v1.1