blob: 8fdd992e9c5e258f2c93f7d01e8b30c87a5b105c [file] [log] [blame]
<html lang="en">
<head>
<title>Varying Target Capabilities - 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="Agent-Expressions.html#Agent-Expressions" title="Agent Expressions">
<link rel="prev" href="Using-Agent-Expressions.html#Using-Agent-Expressions" title="Using Agent Expressions">
<link rel="next" href="Rationale.html#Rationale" title="Rationale">
<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="Varying-Target-Capabilities"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Rationale.html#Rationale">Rationale</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Using-Agent-Expressions.html#Using-Agent-Expressions">Using Agent Expressions</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Agent-Expressions.html#Agent-Expressions">Agent Expressions</a>
<hr>
</div>
<h3 class="section">E.4 Varying Target Capabilities</h3>
<p>Some targets don't support floating-point, and some would rather not
have to deal with <code>long long</code> operations. Also, different targets
will have different stack sizes, and different bytecode buffer lengths.
<p>Thus, GDB needs a way to ask the target about itself. We haven't worked
out the details yet, but in general, GDB should be able to send the
target a packet asking it to describe itself. The reply should be a
packet whose length is explicit, so we can add new information to the
packet in future revisions of the agent, without confusing old versions
of GDB, and it should contain a version number. It should contain at
least the following information:
<ul>
<li>whether floating point is supported
<li>whether <code>long long</code> is supported
<li>maximum acceptable size of bytecode stack
<li>maximum acceptable length of bytecode expressions
<li>which registers are actually available for collection
<li>whether the target supports disabled tracepoints
</ul>
</body></html>