1<html lang="en"> 2<head> 3<title>Breakpoint-related Warnings - Debugging with GDB</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Debugging with GDB"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Breakpoints.html#Breakpoints" title="Breakpoints"> 9<link rel="prev" href="Error-in-Breakpoints.html#Error-in-Breakpoints" title="Error in Breakpoints"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988-2013 Free Software Foundation, Inc. 13 14Permission is granted to copy, distribute and/or modify this document 15under the terms of the GNU Free Documentation License, Version 1.3 or 16any later version published by the Free Software Foundation; with the 17Invariant Sections being ``Free Software'' and ``Free Software Needs 18Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,'' 19and with the Back-Cover Texts as in (a) below. 20 21(a) The FSF's Back-Cover Text is: ``You are free to copy and modify 22this GNU Manual. Buying copies from GNU Press supports the FSF in 23developing GNU and promoting software freedom.'' 24--> 25<meta http-equiv="Content-Style-Type" content="text/css"> 26<style type="text/css"><!-- 27 pre.display { font-family:inherit } 28 pre.format { font-family:inherit } 29 pre.smalldisplay { font-family:inherit; font-size:smaller } 30 pre.smallformat { font-family:inherit; font-size:smaller } 31 pre.smallexample { font-size:smaller } 32 pre.smalllisp { font-size:smaller } 33 span.sc { font-variant:small-caps } 34 span.roman { font-family:serif; font-weight:normal; } 35 span.sansserif { font-family:sans-serif; font-weight:normal; } 36--></style> 37<link rel="stylesheet" type="text/css" href="../cs.css"> 38</head> 39<body> 40<div class="node"> 41<a name="Breakpoint-related-Warnings"></a> 42<a name="Breakpoint_002drelated-Warnings"></a> 43<p> 44Previous: <a rel="previous" accesskey="p" href="Error-in-Breakpoints.html#Error-in-Breakpoints">Error in Breakpoints</a>, 45Up: <a rel="up" accesskey="u" href="Breakpoints.html#Breakpoints">Breakpoints</a> 46<hr> 47</div> 48 49<h4 class="subsection">5.1.12 “Breakpoint address adjusted...”</h4> 50 51<p><a name="index-breakpoint-address-adjusted-304"></a> 52Some processor architectures place constraints on the addresses at 53which breakpoints may be placed. For architectures thus constrained, 54<span class="sc">gdb</span> will attempt to adjust the breakpoint's address to comply 55with the constraints dictated by the architecture. 56 57 <p>One example of such an architecture is the Fujitsu FR-V. The FR-V is 58a VLIW architecture in which a number of RISC-like instructions may be 59bundled together for parallel execution. The FR-V architecture 60constrains the location of a breakpoint instruction within such a 61bundle to the instruction with the lowest address. <span class="sc">gdb</span> 62honors this constraint by adjusting a breakpoint's address to the 63first in the bundle. 64 65 <p>It is not uncommon for optimized code to have bundles which contain 66instructions from different source statements, thus it may happen that 67a breakpoint's address will be adjusted from one source statement to 68another. Since this adjustment may significantly alter <span class="sc">gdb</span>'s 69breakpoint related behavior from what the user expects, a warning is 70printed when the breakpoint is first set and also when the breakpoint 71is hit. 72 73 <p>A warning like the one below is printed when setting a breakpoint 74that's been subject to address adjustment: 75 76<pre class="smallexample"> warning: Breakpoint address adjusted from 0x00010414 to 0x00010410. 77</pre> 78 <p>Such warnings are printed both for user settable and <span class="sc">gdb</span>'s 79internal breakpoints. If you see one of these warnings, you should 80verify that a breakpoint set at the adjusted address will have the 81desired affect. If not, the breakpoint in question may be removed and 82other breakpoints may be set which will have the desired behavior. 83E.g., it may be sufficient to place the breakpoint at a later 84instruction. A conditional breakpoint may also be useful in some 85cases to prevent the breakpoint from triggering too often. 86 87 <p><span class="sc">gdb</span> will also issue a warning when stopping at one of these 88adjusted breakpoints: 89 90<pre class="smallexample"> warning: Breakpoint 1 address previously adjusted from 0x00010414 91 to 0x00010410. 92</pre> 93 <p>When this warning is encountered, it may be too late to take remedial 94action except in cases where the breakpoint is hit earlier or more 95frequently than expected. 96 97 </body></html> 98 99