diff options
author | Alan Modra <amodra@gmail.com> | 2018-03-07 11:06:15 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-03-07 16:56:39 +1030 |
commit | 52fe4420b771a0f3b4fc7c6535bbd6e9b279f775 (patch) | |
tree | 5c95445c7b005e3ffacf0c1f6af007aa50243c69 /gas | |
parent | 0118219e1850a05ceb181a4f47a6906c01c17c83 (diff) | |
download | gdb-52fe4420b771a0f3b4fc7c6535bbd6e9b279f775.zip gdb-52fe4420b771a0f3b4fc7c6535bbd6e9b279f775.tar.gz gdb-52fe4420b771a0f3b4fc7c6535bbd6e9b279f775.tar.bz2 |
XCOFF disassembler
xcoff (32-bit) objdump accepted but ignored -M options unless
-mpowerpc was also given. This patch fixes that, leaving the default
as -Mpwr for xcoff. I've also enabled more tests for xcoff targets.
binutils/
* configure.ac: Add objdump_private_desc_xcoff for rs6000.
* configure: Regenerate.
gas/
* testsuite/gas/ppc/aix.exp: Run for rs6000 too.
* testsuite/gas/ppc/ppc.exp: Run more tests for non-ELF targets.
* testsuite/gas/ppc/machine.d: Don't run for PE targets.
opcodes/
* disassemble.c (disassembler): Use bfd_arch_powerpc entry for
bfd_arch_rs6000.
* disassemble.h (print_insn_rs6000): Delete.
* ppc-dis.c (powerpc_init_dialect): Handle rs6000.
(disassemble_init_powerpc): Call powerpc_init_dialect for rs6000.
(print_insn_rs6000): Delete.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/aix.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/machine.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 146 |
4 files changed, 81 insertions, 74 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d8f5892..ed7c5cd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2018-03-07 Alan Modra <amodra@gmail.com> + + * testsuite/gas/ppc/aix.exp: Run for rs6000 too. + * testsuite/gas/ppc/ppc.exp: Run more tests for non-ELF targets. + * testsuite/gas/ppc/machine.d: Don't run for PE targets. + 2018-03-02 Thomas Preud'homme <thomas.preudhomme@arm.com> * config/tc-arm.c (md_begin): Add NULL pointer check before diff --git a/gas/testsuite/gas/ppc/aix.exp b/gas/testsuite/gas/ppc/aix.exp index d92a1b8..c0858ea 100644 --- a/gas/testsuite/gas/ppc/aix.exp +++ b/gas/testsuite/gas/ppc/aix.exp @@ -56,7 +56,7 @@ proc do_align_test {} { } -if [istarget powerpc-ibm-aix*] then { +if { [istarget "powerpc*-*-aix*"] || [istarget "rs6000-*-aix*"] } then { # Make sure that symbols are correctly aligned do_align_test diff --git a/gas/testsuite/gas/ppc/machine.d b/gas/testsuite/gas/ppc/machine.d index 7f9b8b4..b8ec7a3 100644 --- a/gas/testsuite/gas/ppc/machine.d +++ b/gas/testsuite/gas/ppc/machine.d @@ -1,5 +1,6 @@ #objdump: -s -j .text #name: PowerPC .machine test +#not-target: *-*-pe *-*-winnt* *-*-cygwin* .* diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index bdce3dc..f3b37de 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -18,8 +18,33 @@ # Some PowerPC tests # +if { ![istarget "powerpc*-*-*"] && ![istarget "rs6000-*-*"] } then { + return +} + +run_dump_test "regnames" +run_dump_test "misalign" +run_dump_test "misalign2" +run_dump_test "machine" +run_dump_test "simpshft" +run_dump_test "altivec_and_spe" +run_list_test "range" "-a32" +run_dump_test "cell" + +if { [istarget "*-*-aix*"] + || [istarget "*-*-macos*"] + || [istarget "*-*-beos*"] } then { + run_dump_test "test1xcoff32" + run_dump_test "test2xcoff32" + run_dump_test "altivec_xcoff" + run_dump_test "altivec_xcoff64" +} + # These tests are currently ELF specific, only because nobody has # converted them to look for XCOFF relocations. +if { ![is_elf_format] } then { + return +} if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then { # FIXME: Pass -x to objdump as well as -Dr for astest64 and astest2_64. @@ -28,84 +53,59 @@ if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then { run_dump_test "test1elf64" run_dump_test "power4" run_list_test "range64" "-a64" -} elseif { [istarget powerpc*-*aix*] } then { - run_dump_test "test1xcoff32" - run_dump_test "test2xcoff32" -} elseif { [istarget powerpc*-*-*bsd*] \ - || [istarget powerpc*-*-elf*] \ - || [istarget powerpc*-*-eabi*] \ - || [istarget powerpc*-*-sysv4*] \ - || [istarget powerpc*-*-linux*] \ - || [istarget powerpc*-*-solaris*] \ - || [istarget powerpc*-*-rtems*] } then { +} else { run_dump_test "astest" run_dump_test "astest2" run_dump_test "test1elf32" } -if { [istarget powerpc*-*-*] } then { - run_dump_test "regnames" - run_dump_test "misalign" - run_dump_test "misalign2" - if { [is_elf_format] } then { - run_dump_test "machine" - run_dump_test "common" - run_dump_test "476" - run_dump_test "a2" - run_dump_test "pr21303" - run_dump_test "vle" - run_dump_test "vle-reloc" - run_dump_test "vle-simple-1" - run_dump_test "vle-simple-2" - run_dump_test "vle-simple-3" - run_dump_test "vle-simple-4" - run_dump_test "vle-simple-5" - run_dump_test "vle-simple-6" - run_dump_test "vle-mult-ld-st-insns" +run_dump_test "common" +run_dump_test "476" +run_dump_test "a2" +run_dump_test "pr21303" +run_dump_test "vle" +run_dump_test "vle-reloc" +run_dump_test "vle-simple-1" +run_dump_test "vle-simple-2" +run_dump_test "vle-simple-3" +run_dump_test "vle-simple-4" +run_dump_test "vle-simple-5" +run_dump_test "vle-simple-6" +run_dump_test "vle-mult-ld-st-insns" - #fail expected until get_powerpc_dialect() patch not applied - setup_xfail "*-*-*" - run_dump_test "lsp" - run_dump_test "lsp-checks" - run_dump_test "efs" - run_dump_test "efs2" - run_dump_test "spe2" - run_dump_test "spe2-checks" - run_dump_test "spe" +#fail expected until get_powerpc_dialect() patch not applied +setup_xfail "*-*-*" +run_dump_test "lsp" - setup_xfail "*-*-*" - run_dump_test "spe_ambiguous" - } +run_dump_test "lsp-checks" +run_dump_test "efs" +run_dump_test "efs2" +run_dump_test "spe2" +run_dump_test "spe2-checks" +run_dump_test "spe" - if { [istarget powerpc-*-*aix*] } then { - run_dump_test "altivec_xcoff" - run_dump_test "altivec_xcoff64" - } else { - run_dump_test "simpshft" - run_dump_test "altivec" - run_dump_test "altivec2" - run_dump_test "altivec3" - run_dump_test "altivec_and_spe" - run_dump_test "booke" - run_dump_test "e500" - run_list_test "e500-ill" "-me500" - run_list_test "range" "-a32" - run_dump_test "ppc750ps" - run_dump_test "e500mc" - run_dump_test "e6500" - run_dump_test "e500mc64_nop" - run_dump_test "e5500_nop" - run_dump_test "e6500_nop" - run_dump_test "cell" - run_dump_test "power4_32" - run_dump_test "power6" - run_dump_test "power7" - run_dump_test "power8" - run_dump_test "power9" - run_dump_test "vsx" - run_dump_test "vsx2" - run_dump_test "vsx3" - run_dump_test "htm" - run_dump_test "titan" - } -} +setup_xfail "*-*-*" +run_dump_test "spe_ambiguous" + +run_dump_test "altivec" +run_dump_test "altivec2" +run_dump_test "altivec3" +run_dump_test "booke" +run_dump_test "e500" +run_list_test "e500-ill" "-me500" +run_dump_test "ppc750ps" +run_dump_test "e500mc" +run_dump_test "e6500" +run_dump_test "e500mc64_nop" +run_dump_test "e5500_nop" +run_dump_test "e6500_nop" +run_dump_test "power4_32" +run_dump_test "power6" +run_dump_test "power7" +run_dump_test "power8" +run_dump_test "power9" +run_dump_test "vsx" +run_dump_test "vsx2" +run_dump_test "vsx3" +run_dump_test "htm" +run_dump_test "titan" |