mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-12 12:16:04 +08:00
c3f72de4f5
This adds some annotation to Power10 pcrel instructions, displaying the target address (ie. pc + D34 field) plus a symbol if there is one at exactly that target address. pld from the .got or .plt will also look up the entry and display it, symbolically if there is a dynamic relocation on the entry. include/ * dis-asm.h (struct disassemble_info): Add dynrelbuf and dynrelcount. binutils/ * objdump.c (struct objdump_disasm_info): Delete dynrelbuf and dynrelcount. (find_symbol_for_address): Adjust for dynrelbuf and dynrelcount move. (disassemble_section, disassemble_data): Likewise. opcodes/ * ppc-dis.c (struct dis_private): Add "special". (POWERPC_DIALECT): Delete. Replace uses with.. (private_data): ..this. New inline function. (disassemble_init_powerpc): Init "special" names. (skip_optional_operands): Add is_pcrel arg, set when detecting R field of prefix instructions. (bsearch_reloc, print_got_plt): New functions. (print_insn_powerpc): For pcrel instructions, print target address and symbol if known, and decode plt and got loads too. gas/ * testsuite/gas/ppc/prefix-pcrel.d: Update expected output. * testsuite/gas/ppc/prefix-reloc.d: Likewise. * gas/testsuite/gas/ppc/vsx_32byte.d: Likewise. ld/ * testsuite/ld-powerpc/inlinepcrel-1.d: Update expected output. * testsuite/ld-powerpc/inlinepcrel-2.d: Likewise. * testsuite/ld-powerpc/notoc2.d: Likewise. * testsuite/ld-powerpc/notoc3.d: Likewise. * testsuite/ld-powerpc/pcrelopt.d: Likewise. * testsuite/ld-powerpc/startstop.d: Likewise. * testsuite/ld-powerpc/tlsget.d: Likewise. * testsuite/ld-powerpc/tlsget2.d: Likewise. * testsuite/ld-powerpc/tlsld.d: Likewise. * testsuite/ld-powerpc/weak1.d: Likewise. * testsuite/ld-powerpc/weak1so.d: Likewise.
37 lines
1.2 KiB
Makefile
37 lines
1.2 KiB
Makefile
#source: tlsld.s
|
|
#as: -a64 -mpower10
|
|
#ld: -melf64ppc
|
|
#objdump: -dr -Mpower10
|
|
|
|
.*: file format .*
|
|
|
|
Disassembly of section \.text:
|
|
|
|
.*:
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (38 6d 10 00|00 10 6d 38) addi r3,r13,4096
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (38 6d 10 00|00 10 6d 38) addi r3,r13,4096
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (06 00 00 00|00 00 00 06) paddi r3,r13,4096
|
|
.*: (38 6d 10 00|00 10 6d 38)
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (06 03 ff ff|ff ff 03 06) paddi r9,r3,-32728
|
|
.*: (39 23 80 28|28 80 23 39)
|
|
.*: (04 10 00 01|01 00 10 04) pld r10,65784 # 10010228 \[f+8030@got\]
|
|
.*: (e5 40 00 f8|f8 00 40 e5)
|
|
.*: (7d 4a 1a 14|14 1a 4a 7d) add r10,r10,r3
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (38 6d 10 00|00 10 6d 38) addi r3,r13,4096
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (38 6d 10 00|00 10 6d 38) addi r3,r13,4096
|
|
.*: (60 00 00 00|00 00 00 60) nop
|
|
.*: (06 00 00 00|00 00 00 06) paddi r3,r13,4096
|
|
.*: (38 6d 10 00|00 10 6d 38)
|
|
.*: (60 00 00 00|00 00 00 60) nop
|