diff options
author | Anton Kolesov <Anton.Kolesov@synopsys.com> | 2016-08-12 20:02:20 +0300 |
---|---|---|
committer | Anton Kolesov <Anton.Kolesov@synopsys.com> | 2016-09-21 21:07:06 +0300 |
commit | ad0a504f7e10ea11dbf58eb9990a5180f781b695 (patch) | |
tree | 3ea333a32246db9c625590e3d5fbc8f8d75e4316 /gdb/doc | |
parent | 8aabe2e254e6a0419db9c6397c4068c69bfd95b0 (diff) | |
download | gdb-ad0a504f7e10ea11dbf58eb9990a5180f781b695.zip gdb-ad0a504f7e10ea11dbf58eb9990a5180f781b695.tar.gz gdb-ad0a504f7e10ea11dbf58eb9990a5180f781b695.tar.bz2 |
arc: New Synopsys ARC port
ARC is a family of licensable processors developed by Synopsys.
This is an initial patch that doesn't yet support some of the features, that
are already available in Synopsys' fork of GDB, namely:
* longjmp support
* signal frame handling
* prologue analysis
* Linux targets support
* native Linux support
ARC cores are configurable and extensible, which means from debugger
perspective that some registers and debug capabilities are optional, therefore
it is up to the GDB stub to determine exact list of register available on
target and supply it to GDB via XML target descriptions. List of registers
that is known to GDB and is required is intentionally kept small to simplify
requirements to GDB stub and implementation of a GDB client.
gdb/ChangeLog:
* Makefile.in (ALL_TARGET_OBS): Add arc-tdep.o.
(HFILES_NO_SRCDIR): Add arc-tdep.h.
(ALLDEPFILES): Add arc-tdep.c.
* NEWS: Mention new ARC port.
* configure.tgt: Add ARC.
* arc-tdep.c: New file.
* arc-tdep.h: New file.
* features/Makefile (XMLTOC): Add arc-v2.xml and arc-arcompact.xml.
* features/arc-v2.xml: New file.
* features/arc-v2.c: New file (generated).
* features/arc-arcompact.xml: New file.
* features/arc-arcompact.c: New file (generated).
gdb/doc/ChangeLog:
* gdb.texinfo (Embedded Processors): Document ARC.
(Synopsys ARC): New section.
(Standard Target Features): Document ARC features.
(ARC Features): New section.
gdb/testsuite/ChangeLog:
* gdb.xml/tdesc-regs.exp: set core-regs for arc*-*-elf32.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 65 |
2 files changed, 72 insertions, 0 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index d13cf86..4fff1de 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2016-09-21 Anton Kolesov <anton.kolesov@synopsys.com> + + * gdb.texinfo (Embedded Processors): Document ARC. + (Synopsys ARC): New section. + (Standard Target Features): Document ARC features. + (ARC Features): New section. + 2016-09-21 Simon Marchi <simon.marchi@ericsson.com> * .gitignore: New file. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index d1a5e7c..4bbe79e 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22017,6 +22017,7 @@ acceptable commands. @menu +* ARC:: Synopsys ARC * ARM:: ARM * M68K:: Motorola M68K * MicroBlaze:: Xilinx MicroBlaze @@ -22027,6 +22028,30 @@ acceptable commands. * Super-H:: Renesas Super-H @end menu +@node ARC +@subsection Synopsys ARC +@cindex Synopsys ARC +@cindex ARC specific commands +@cindex ARC600 +@cindex ARC700 +@cindex ARC EM +@cindex ARC HS + +@value{GDBN} provides the following ARC-specific commands: + +@table @code +@item set debug arc +@kindex set debug arc +Control the level of ARC specific debug messages. Use 0 for no messages (the +default) and 1 for debug messages. At present higher values offer no further +messages. + +@item show debug arc +@kindex show debug arc +Show the level of ARC specific debugging in operation. + +@end table + @node ARM @subsection ARM @@ -40907,6 +40932,7 @@ registers using the capitalization used in the description. @menu * AArch64 Features:: +* ARC Features:: * ARM Features:: * i386 Features:: * MicroBlaze Features:: @@ -40932,6 +40958,45 @@ The @samp{org.gnu.gdb.aarch64.fpu} feature is optional. If present, it should contain registers @samp{v0} through @samp{v31}, @samp{fpsr}, and @samp{fpcr}. +@node ARC Features +@subsection ARC Features +@cindex target descriptions, ARC Features + +ARC processors are highly configurable, so even core registers and their number +are not completely predetermined. In addition flags and PC registers which are +important to @value{GDBN} are not ``core'' registers in ARC. It is required +that one of the core registers features is present. +@samp{org.gnu.gdb.arc.aux-minimal} feature is mandatory. + +The @samp{org.gnu.gdb.arc.core.v2} feature is required for ARC EM and ARC HS +targets with a normal register file. It should contain registers @samp{r0} +through @samp{r25}, @samp{gp}, @samp{fp}, @samp{sp}, @samp{r30}, @samp{blink}, +@samp{lp_count} and @samp{pcl}. This feature may contain register @samp{ilink} +and any of extension core registers @samp{r32} through @samp{r59/acch}. +@samp{ilink} and extension core registers are not available to read/write, when +debugging GNU/Linux applications, thus @samp{ilink} is made optional. + +The @samp{org.gnu.gdb.arc.core-reduced.v2} feature is required for ARC EM and +ARC HS targets with a reduced register file. It should contain registers +@samp{r0} through @samp{r3}, @samp{r10} through @samp{r15}, @samp{gp}, +@samp{fp}, @samp{sp}, @samp{r30}, @samp{blink}, @samp{lp_count} and @samp{pcl}. +This feature may contain register @samp{ilink} and any of extension core +registers @samp{r32} through @samp{r59/acch}. + +The @samp{org.gnu.gdb.arc.core.arcompact} feature is required for ARCompact +targets with a normal register file. It should contain registers @samp{r0} +through @samp{r25}, @samp{gp}, @samp{fp}, @samp{sp}, @samp{r30}, @samp{blink}, +@samp{lp_count} and @samp{pcl}. This feature may contain registers +@samp{ilink1}, @samp{ilink2} and any of extension core registers @samp{r32} +through @samp{r59/acch}. @samp{ilink1} and @samp{ilink2} and extension core +registers are not available when debugging GNU/Linux applications. The only +difference with @samp{org.gnu.gdb.arc.core.v2} feature is in the names of +@samp{ilink1} and @samp{ilink2} registers and that @samp{r30} is mandatory in +ARC v2, but @samp{ilink2} is optional on ARCompact. + +The @samp{org.gnu.gdb.arc.aux-minimal} feature is required for all ARC +targets. It should contain registers @samp{pc} and @samp{status32}. + @node ARM Features @subsection ARM Features @cindex target descriptions, ARM features |