diff options
author | Dimitar Dimitrov <dimitar@dinux.eu> | 2017-12-13 13:08:50 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-12-13 13:09:59 +0000 |
commit | 024d185c10a48339ae06634d0738dd796a159cd8 (patch) | |
tree | 0861482eadc0fa2a1109d6ca80a23cfab23cf106 | |
parent | 10e7c0457cb7531f8b205e29e88b3e191cfa6037 (diff) | |
download | binutils-gdb-024d185c10a48339ae06634d0738dd796a159cd8.tar.gz |
This patch enables disassembler_needs_relocs for PRU. It is needed to print correct symbols when disassembling arguments of "call" instructions with a relocation.
opcodes * disassemble.c: Enable disassembler_needs_relocs for PRU.
gas * testsuite/gas/pru/extern.s: New test for print of U16_PMEMM
relocation.
* testsuite/gas/pru/extern.d: New test driver.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/pru/extern.d | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/pru/extern.s | 5 | ||||
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/disassemble.c | 5 |
5 files changed, 30 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 99cd42582eb..dcc4cb8ea97 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2017-12-13 Dimitar Dimitrov <dimitar@dinux.eu> + + * testsuite/gas/pru/extern.s: New test for print of U16_PMEMM + relocation. + * testsuite/gas/pru/extern.d: New test driver. + 2017-12-12 Alan Modra <amodra@gmail.com> PR 21118 diff --git a/gas/testsuite/gas/pru/extern.d b/gas/testsuite/gas/pru/extern.d new file mode 100644 index 00000000000..e06f758ff72 --- /dev/null +++ b/gas/testsuite/gas/pru/extern.d @@ -0,0 +1,10 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: PRU extern function call dump + +# Test dumping of U16_PMEMIMM relocation + +.*: +file format elf32-pru + +Disassembly of section .text: +0+0000 <[^>]*> 230000c3 call 00000000 <myextfunc> +[\t ]*0: R_PRU_U16_PMEMIMM[\t ]*myextfunc diff --git a/gas/testsuite/gas/pru/extern.s b/gas/testsuite/gas/pru/extern.s new file mode 100644 index 00000000000..87380df732c --- /dev/null +++ b/gas/testsuite/gas/pru/extern.s @@ -0,0 +1,5 @@ +# Source file used to test text dump of U16_PMEMIMM relocation + + .extern myextfunc +foo: + call myextfunc diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 7751ef27b14..5e8ad9f7237 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2017-12-13 Dimitar Dimitrov <dimitar@dinux.eu> + + * disassemble.c: Enable disassembler_needs_relocs for PRU. + 2017-12-11 Petr Pavlu <petr.pavlu@arm.com> Renlin Li <renlin.li@arm.com> diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c index 11206c67a5f..fa9a7653541 100644 --- a/opcodes/disassemble.c +++ b/opcodes/disassemble.c @@ -654,6 +654,11 @@ disassemble_init_for_target (struct disassemble_info * info) #ifdef ARCH_powerpc case bfd_arch_powerpc: #endif +#ifdef ARCH_pru + case bfd_arch_pru: + info->disassembler_needs_relocs = TRUE; + break; +#endif #ifdef ARCH_rs6000 case bfd_arch_rs6000: #endif |