blob: c7c74df70215d4c329597557f8af4a739025d818 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 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." -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Breakpoint-related Warnings</title>
<meta name="description" content="Debugging with GDB: Breakpoint-related Warnings">
<meta name="keywords" content="Debugging with GDB: Breakpoint-related Warnings">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Breakpoints.html#Breakpoints" rel="up" title="Breakpoints">
<link href="Continuing-and-Stepping.html#Continuing-and-Stepping" rel="next" title="Continuing and Stepping">
<link href="Error-in-Breakpoints.html#Error-in-Breakpoints" rel="prev" title="Error in Breakpoints">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Breakpoint_002drelated-Warnings"></a>
<div class="header">
<p>
Previous: <a href="Error-in-Breakpoints.html#Error-in-Breakpoints" accesskey="p" rel="prev">Error in Breakpoints</a>, Up: <a href="Breakpoints.html#Breakpoints" accesskey="u" rel="up">Breakpoints</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="g_t_0060_0060Breakpoint-address-adjusted_002e_002e_002e_0027_0027"></a>
<h4 class="subsection">5.1.12 &ldquo;Breakpoint address adjusted...&rdquo;</h4>
<a name="index-breakpoint-address-adjusted"></a>
<p>Some processor architectures place constraints on the addresses at
which breakpoints may be placed. For architectures thus constrained,
<small>GDB</small> will attempt to adjust the breakpoint&rsquo;s address to comply
with the constraints dictated by the architecture.
</p>
<p>One example of such an architecture is the Fujitsu FR-V. The FR-V is
a VLIW architecture in which a number of RISC-like instructions may be
bundled together for parallel execution. The FR-V architecture
constrains the location of a breakpoint instruction within such a
bundle to the instruction with the lowest address. <small>GDB</small>
honors this constraint by adjusting a breakpoint&rsquo;s address to the
first in the bundle.
</p>
<p>It is not uncommon for optimized code to have bundles which contain
instructions from different source statements, thus it may happen that
a breakpoint&rsquo;s address will be adjusted from one source statement to
another. Since this adjustment may significantly alter <small>GDB</small>&rsquo;s
breakpoint related behavior from what the user expects, a warning is
printed when the breakpoint is first set and also when the breakpoint
is hit.
</p>
<p>A warning like the one below is printed when setting a breakpoint
that&rsquo;s been subject to address adjustment:
</p>
<div class="smallexample">
<pre class="smallexample">warning: Breakpoint address adjusted from 0x00010414 to 0x00010410.
</pre></div>
<p>Such warnings are printed both for user settable and <small>GDB</small>&rsquo;s
internal breakpoints. If you see one of these warnings, you should
verify that a breakpoint set at the adjusted address will have the
desired affect. If not, the breakpoint in question may be removed and
other breakpoints may be set which will have the desired behavior.
E.g., it may be sufficient to place the breakpoint at a later
instruction. A conditional breakpoint may also be useful in some
cases to prevent the breakpoint from triggering too often.
</p>
<p><small>GDB</small> will also issue a warning when stopping at one of these
adjusted breakpoints:
</p>
<div class="smallexample">
<pre class="smallexample">warning: Breakpoint 1 address previously adjusted from 0x00010414
to 0x00010410.
</pre></div>
<p>When this warning is encountered, it may be too late to take remedial
action except in cases where the breakpoint is hit earlier or more
frequently than expected.
</p>
<hr>
<div class="header">
<p>
Previous: <a href="Error-in-Breakpoints.html#Error-in-Breakpoints" accesskey="p" rel="prev">Error in Breakpoints</a>, Up: <a href="Breakpoints.html#Breakpoints" accesskey="u" rel="up">Breakpoints</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>