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.
This commit is contained in:
parent
30569fbb57
commit
ae61ef2c56
@ -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
gdb/NEWS
3
gdb/NEWS
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
45
gdb/testsuite/gdb.arch/arc-disassembler-options.exp
Normal file
45
gdb/testsuite/gdb.arch/arc-disassembler-options.exp
Normal file
@ -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"
|
21
gdb/testsuite/gdb.arch/arc-disassembler-options.s
Normal file
21
gdb/testsuite/gdb.arch/arc-disassembler-options.s
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user