[PATCH v4] GDB PR tdep/8282: MIPS: Wire in `set disassembler-options'

Simon Marchi simon.marchi@ericsson.com
Thu Jun 21 17:52:00 GMT 2018


Hi Maciej,

This patch looks good from the GDB side (with one nit in the test below), but
somebody from binutils would need to review the bits in opcodes/include.

> Index: binutils/gdb/testsuite/gdb.arch/mips-disassembler-options.exp
> ===================================================================
> --- /dev/null	1970-01-01 00:00:00.000000000 +0000
> +++ binutils/gdb/testsuite/gdb.arch/mips-disassembler-options.exp	2018-06-20 15:58:24.888391112 +0100
> @@ -0,0 +1,58 @@
> +# Copyright 2018 Free Software Foundation, Inc.
> +
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +# Test MIPS disassembler options.
> +
> +if { ![istarget "mips*-*-*"] } then {
> +    verbose "Skipping MIPS disassembler option tests."
> +    return
> +}
> +
> +standard_testfile .s
> +set objfile [standard_output_file ${testfile}.o]
> +
> +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {}] \
> +     != "" } {
> +    return
> +}
> +
> +clean_restart ${objfile}
> +
> +proc mips_disassemble_test { func insn mesg } {
> +    gdb_test "disassemble $func" \
> +	"Dump of assembler code for function\
> +	 $func:\r\n\[^:\]+:\t$insn\r\nEnd of assembler dump\." \
> +	$mesg
> +}
> +
> +# Verify defaults.
> +mips_disassemble_test foo "move\tv0,v1" "disassemble default"
> +
> +# Verify option overrides.
> +gdb_test "set disassembler-options gpr-names=numeric"
> +mips_disassemble_test foo "move\t\\\$2,\\\$3" "disassemble numeric (gpr-names)"
> +# Check multiple options too.
> +gdb_test "set disassembler-options msa,reg-names=numeric,reg-names=r3000"
> +mips_disassemble_test foo "move\t\\\$2,\\\$3" "disassemble numeric (reg-names)"
> +
> +# Verify ABI overrides.
> +mips_disassemble_test bar "move\t\\\$2,\\\$8" "disassemble ABI (numeric)"
> +gdb_test "set disassembler-options"
> +gdb_test "set mips abi o32"
> +mips_disassemble_test bar "move\tv0,t0" "disassemble ABI (o32)"
> +gdb_test "set mips abi n32"
> +mips_disassemble_test bar "move\tv0,a4" "disassemble ABI (n32)"
> +gdb_test "set mips abi n64"
> +mips_disassemble_test bar "move\tv0,a4" "disassemble ABI (n64)"

Avoid parenthesis at the end of test names:

  https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#Do_not_use_.22tail_parentheses.22_on_test_messages

Simon



More information about the Gdb-patches mailing list