[RFA take 4] Allow setting breakpoints on inline functions (PR 10738)

Gary Benson gbenson@redhat.com
Tue Feb 14 10:51:00 GMT 2012


Mark Wielaard wrote:
> On Tue, Feb 14, 2012 at 10:38:31AM +0100, Jan Kratochvil wrote:
> > On Tue, 14 Feb 2012 10:33:45 +0100, Mark Wielaard wrote:
> > > I think you should keep the historical information about older
> > > versions and add precisely which symbols weren't included with
> > > version 5 that are now included with version 6 in the
> > > documentation of the gdb index format. That will be helpful for
> > > other producers and consumers of the .gdb_index section
> > > (elfutils/binutils readelf, gold --gdb-index option).
> > 
> > So far GDB sources kept only documentation from the recognized
> > formats.  Such change would have to be done retroactively.
> > 
> > I do not think it makes sense to give much energy to deal with
> > older formats,
> 
> I am not suggesting to retroactive add more info on never documented
> versions, just to not remove existing documentation of the old
> versions.  Version 4, 5 and 6 are all compatible to a consumer,
> having that documented is a good thing IMHO. Just having one extra
> line to document which symbols have been added in version 6 will
> also help other producers like gold --gdb-index.

I can see the value in not removing existing documentation, but every
way I arranged it seemed more confusing than simply stating that the
previous formats were obsolete.  

I've attached an alternate version of the doc part of the patch with
the information retained.  I don't really like it, but if other people
think it valuable I won't make a fuss.

Cheers,
Gary

-- 
http://gbenson.net/
-------------- next part --------------
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 4f863dd..ee06d0c 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -9812,14 +9812,6 @@ function calls are the same as normal calls:
 
 @itemize @bullet
 @item
-You cannot set breakpoints on inlined functions.  @value{GDBN}
-either reports that there is no symbol with that name, or else sets the
-breakpoint only on non-inlined copies of the function.  This limitation
-will be removed in a future version of @value{GDBN}; until then,
-set a breakpoint by line number on the first line of the inlined
-function instead.
-
-@item
 Setting breakpoints at the call site of an inlined function may not
 work, because the call site does not contain any code.  @value{GDBN}
 may incorrectly move the breakpoint to the next line of the enclosing
@@ -38717,8 +38709,14 @@ unless otherwise noted:
 
 @enumerate
 @item
-The version number, currently 5.  Versions 1, 2 and 3 are obsolete.
-Version 4 differs by its hashing function.
+
+The version number, currently 6.  Versions 1, 2, 3, 4 and 5 are
+obsolete.  Version 6 differs from version 5 in that version 6 includes
+symbols representing both inlined and out-of-line functions whereas
+version 5 included symbols representing out-of-line functions only.
+Version 5 differed from version 4 in that version 5 used a
+case-insensitive hashing function whereas version 4's hashing function
+was case-sensitive.
 
 @item
 The offset, from the start of the file, of the CU list.
@@ -38793,7 +38791,7 @@ index version:
 @item Version 4
 The formula is @code{r = r * 67 + c - 113}.
 
-@item Version 5
+@item Versions 5 and 6
 The formula is @code{r = r * 67 + tolower (c) - 113}.
 @end table
 


More information about the Gdb-patches mailing list