diff options
author | Shahab Vahedi <shahab@synopsys.com> | 2021-05-05 23:07:38 +0200 |
---|---|---|
committer | Shahab Vahedi <shahab@synopsys.com> | 2021-06-05 11:43:07 +0200 |
commit | ae61ef2c5615a06f829468b57249a17762a44220 (patch) | |
tree | 6fc2e0e1ed9f3938530d4107760861352577e29b /gdb | |
parent | 30569fbb57f1e4fe1ffed6b94882d967f27cbb66 (diff) | |
download | fsf-binutils-gdb-ae61ef2c5615a06f829468b57249a17762a44220.zip fsf-binutils-gdb-ae61ef2c5615a06f829468b57249a17762a44220.tar.gz fsf-binutils-gdb-ae61ef2c5615a06f829468b57249a17762a44220.tar.bz2 |
arc: Add 'set disassembler-options' support
Implement ARC target support for passing options to the disassembler
through the command interface. e.g.:
gdb> set disassembler-options cpu=hs38_linux ...
gdb/ChangeLog:
* NEWS: Document 'set disassembler-options' support for the ARC
target.
* arc-tdep.c (arc_gdbarch_init): Set
'gdbarch_valid_disassembler_options'.
gdb/doc/ChangeLog:
* gdb.texinfo (Source and Machine Code): Document 'set
disassembler-options' support for the ARC target.
gdb/testsuite/ChangeLog:
* gdb.arch/arc-disassembler-options.exp: New test.
* gdb.arch/arc-disassembler-options.s: New test source.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/NEWS | 3 | ||||
-rw-r--r-- | gdb/arc-tdep.c | 6 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 4 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/arc-disassembler-options.exp | 45 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/arc-disassembler-options.s | 21 |
8 files changed, 92 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8ebb552..9fc2310 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2021-06-05 Shahab Vahedi <shahab@synopsys.com> + + * NEWS: Document 'set disassembler-options' support for the ARC + target. + * arc-tdep.c (arc_gdbarch_init): Set + 'gdbarch_valid_disassembler_options'. + 2021-06-04 Tom Tromey <tromey@adacore.com> * dwarf2/read.h (dwarf2_fetch_die_type_sect_off): Add 'var_name' @@ -3,6 +3,9 @@ *** Changes since GDB 10 +* The 'set disassembler-options' command now supports specifying options + for the ARC target. + * GDB now supports general memory tagging functionality if the underlying architecture supports the proper primitives and hooks. Currently this is enabled only for AArch64 MTE. diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index ece8025..3afbf42 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -2434,11 +2434,13 @@ arc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) arc_disassembler_options = NULL; break; } - set_gdbarch_disassembler_options (gdbarch, - &arc_disassembler_options); } } + set_gdbarch_disassembler_options (gdbarch, &arc_disassembler_options); + set_gdbarch_valid_disassembler_options (gdbarch, + disassembler_options_arc ()); + tdesc_use_registers (gdbarch, tdesc, std::move (tdesc_data)); return gdbarch; diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 82bc4f6..61d40b9 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2021-06-05 Shahab Vahedi <shahab@synopsys.com> + + * gdb.texinfo (Source and Machine Code): Document 'set + disassembler-options' support for the ARC target. + 2021-06-04 Hannes Domani <ssbssa@yahoo.de> * python.texi (TUI Windows In Python): Document Window.click. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 90d827a..d09b86c 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -9879,8 +9879,8 @@ The default value is the empty string. If it is necessary to specify more than one disassembler option, then multiple options can be placed together into a comma separated list. -Currently this command is only supported on targets ARM, MIPS, PowerPC -and S/390. +Currently this command is only supported on targets ARC, ARM, MIPS, +PowerPC and S/390. @kindex show disassembler-options @item show disassembler-options diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 4c07d3a..d78bf06 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2021-06-05 Shahab Vahedi <shahab@synopsys.com> + + * gdb.arch/arc-disassembler-options.exp: New test. + * gdb.arch/arc-disassembler-options.s: New test source. + 2021-06-04 Tom Tromey <tromey@adacore.com> * gdb.ada/array_of_symbolic_length.exp: New file. diff --git a/gdb/testsuite/gdb.arch/arc-disassembler-options.exp b/gdb/testsuite/gdb.arch/arc-disassembler-options.exp new file mode 100644 index 0000000..6bfe06b --- /dev/null +++ b/gdb/testsuite/gdb.arch/arc-disassembler-options.exp @@ -0,0 +1,45 @@ +# Copyright 2021 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 ARC disassembler options. + +if { ![istarget "arc-*-*"] } then { + verbose "Skipping ARC disassembler option test." + return +} + +standard_testfile .s +set objfile [standard_output_file ${testfile}.o] + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {}] \ + != "" } { + return +} + +clean_restart ${objfile} + +proc arc_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. +arc_disassemble_test foo "lr\tr0,\\\[tlbpd0\\\]" "disassemble default" + +# Verify option overrides. +gdb_test "set disassembler-options cpu=arcem" +arc_disassemble_test foo "lr\tr0,\\\[1120\\\]" "disassemble cpu=arcem" diff --git a/gdb/testsuite/gdb.arch/arc-disassembler-options.s b/gdb/testsuite/gdb.arch/arc-disassembler-options.s new file mode 100644 index 0000000..9f64ce4 --- /dev/null +++ b/gdb/testsuite/gdb.arch/arc-disassembler-options.s @@ -0,0 +1,21 @@ +# This test is part of GDB, the GNU debugger. +# +# Copyright 2021 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/>. + +.globl foo +foo: + lr r0, [tlbpd0] +.end foo |