blob: 31ab897270de358c5421d2a72c45c4d06d70bad3 [file] [log] [blame]
<html lang="en">
<head>
<title>PowerPC Embedded - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Embedded-Processors.html#Embedded-Processors" title="Embedded Processors">
<link rel="prev" href="PA.html#PA" title="PA">
<link rel="next" href="Sparclet.html#Sparclet" title="Sparclet">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="PowerPC-Embedded"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Sparclet.html#Sparclet">Sparclet</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="PA.html#PA">PA</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Embedded-Processors.html#Embedded-Processors">Embedded Processors</a>
<hr>
</div>
<h4 class="subsection">21.3.7 PowerPC Embedded</h4>
<p><a name="index-DVC-register-1358"></a><span class="sc">gdb</span> supports using the DVC (Data Value Compare) register to
implement in hardware simple hardware watchpoint conditions of the form:
<pre class="smallexample"> (gdb) watch <var>ADDRESS|VARIABLE</var> \
if <var>ADDRESS|VARIABLE</var> == <var>CONSTANT EXPRESSION</var>
</pre>
<p>The DVC register will be automatically used whenever <span class="sc">gdb</span> detects
such pattern in a condition expression. This feature is available in native
<span class="sc">gdb</span> running on a Linux kernel version 2.6.34 or newer.
<p><span class="sc">gdb</span> provides the following PowerPC-specific commands:
<a name="index-set-powerpc-1359"></a>
<dl><dt><code>set powerpc soft-float</code><dt><code>show powerpc soft-float</code><dd>Force <span class="sc">gdb</span> to use (or not use) a software floating point calling
convention. By default, <span class="sc">gdb</span> selects the calling convention based
on the selected architecture and the provided executable file.
<br><dt><code>set powerpc vector-abi</code><dt><code>show powerpc vector-abi</code><dd>Force <span class="sc">gdb</span> to use the specified calling convention for vector
arguments and return values. The valid options are &lsquo;<samp><span class="samp">auto</span></samp>&rsquo;;
&lsquo;<samp><span class="samp">generic</span></samp>&rsquo;, to avoid vector registers even if they are present;
&lsquo;<samp><span class="samp">altivec</span></samp>&rsquo;, to use AltiVec registers; and &lsquo;<samp><span class="samp">spe</span></samp>&rsquo; to use SPE
registers. By default, <span class="sc">gdb</span> selects the calling convention
based on the selected architecture and the provided executable file.
<p><a name="index-target-dink32-1360"></a><br><dt><code>target dink32 </code><var>dev</var><dd>DINK32 ROM monitor.
<p><a name="index-target-ppcbug-1361"></a><br><dt><code>target ppcbug </code><var>dev</var><dd><a name="index-target-ppcbug1-1362"></a><br><dt><code>target ppcbug1 </code><var>dev</var><dd>PPCBUG ROM monitor for PowerPC.
<p><a name="index-target-sds-1363"></a><br><dt><code>target sds </code><var>dev</var><dd>SDS monitor, running on a PowerPC board (such as Motorola's ADS).
</dl>
<p><a name="index-SDS-protocol-1364"></a>The following commands specific to the SDS protocol are supported
by <span class="sc">gdb</span>:
<dl>
<dt><code>set sdstimeout </code><var>nsec</var><dd><a name="index-set-sdstimeout-1365"></a>Set the timeout for SDS protocol reads to be <var>nsec</var> seconds. The
default is 2 seconds.
<br><dt><code>show sdstimeout</code><dd><a name="index-show-sdstimeout-1366"></a>Show the current value of the SDS timeout.
<br><dt><code>sds </code><var>command</var><dd><a name="index-sds_0040r_007b_002c-a-command_007d-1367"></a>Send the specified <var>command</var> string to the SDS monitor.
</dl>
</body></html>