This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
pending/988: Patch to improve behavior of gdb with -fullname
- From: Dennis Brueni <dennis at slickedit dot com>
- To: gdb-gnats at sources dot redhat dot com
- Cc: dennis at slickedit dot com, Ed Hintz <ed at slickedit dot com>
- Date: Tue, 10 Dec 2002 15:21:54 -0500
- Subject: pending/988: Patch to improve behavior of gdb with -fullname
>Number: 988
>Category: pending
>Synopsis: Patch to improve behavior of gdb with -fullname
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: change-request
>Submitter-Id: unknown
>Arrival-Date: Fri Jan 31 05:28:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:
>Release:
>Organization:
>Environment:
>Description:
This is a multi-part message in MIME format.
--------------060107070808060003030507
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Problem:
When using gdb with -interpreter=mi and the -fullname option,
the stack dumps still show file names using relative paths
rather than the fully qualified path you would expect.
When in MI mode, the annotations that would normally show the
fully qualified path are not produced.
Description:
The fix simply attempts to find the fully qualified path to
the source file if -fullname is given, independent of the
interpreter mode. This works perfectly for the MI mode, and
I think it is fair to argue that it should be the expected
behavior for all other modes as well.
Fix Description:
Four line modification to stack.c in the print_frame() function.
Notes:
The modification makes -fullname do what I expect it to do, however,
I do acknowledge that existing software that controls GDB, for example,
emacs, may expect only the annotations to be fully qualified. So this
change may break those programs.
In the -interpreter=mi case, since the annotations are not produced,
I believe that, without this patch, -fullname is broken.
Given my druthers, I would rather see -fullname behave consistently
rather than working in one mode and not in another.
If this fix is accepted, it would be great if it made the 5.3 release.
Examples [before]:
[dbrueni@falcon gdb]$ ./gdb -fullname ./gdb
GNU gdb 2002-12-10-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Setting up the environment for debugging gdb.
During symbol reading, struct/union type gets multiply defined: struct objfile.
Breakpoint 1 at 0x80f3937: file utils.c, line 799.
Breakpoint 2 at 0x807c6ce: file ./cli/cli-cmds.c, line 202.
(top-gdb) break main
Breakpoint 3 at 0x807791c: file gdb.c, line 28.
(top-gdb) run
Starting program: /home/dbrueni/gdb-latest/src/gdb/gdb
Breakpoint 3, main (argc=1, argv=0xbffffb14) at gdb.c:28
<</home/dbrueni/gdb-latest/src/gdb/gdb.c:28:926:beg:0x807791c
(top-gdb) quit
The program is running. Exit anyway? (y or n) y
[dbrueni@falcon gdb]$ ./gdb -fullname -interpreter=mi ./gdb
~"GNU gdb 2002-12-10-cvs\n"
~"Copyright 2002 Free Software Foundation, Inc.\n"
~"GDB is free software, covered by the GNU General Public License, and you are\n"
~"welcome to change it and/or distribute copies of it under certain conditions.\n"
~"Type \"show copying\" to see the conditions.\n"
~"There is absolutely no warranty for GDB. Type \"show warranty\" for details.\n"
~"This GDB was configured as \"i686-pc-linux-gnu\"..."
~"\n"
~"Setting up the environment for debugging gdb.\n"
During symbol reading, struct/union type gets multiply defined: struct objfile.
~"Breakpoint 1 at 0x80f3937: file utils.c, line 799.\n"
~"Breakpoint 2 at 0x807c6ce: file ./cli/cli-cmds.c, line 202.\n"
(gdb)
break main
&"break main\n"
^done
(gdb)
run
&"run\n"
^done,reason="breakpoint-hit",bkptno="3",thread-id="0",frame={addr="0x0807791c",
func="main",args=[{name="argc",value="1"},{name="argv",value="0xbffffb14"}],file
="gdb.c",line="28"}
(gdb)
quit
&"quit\n"
~"The program is running. Exit anyway? (y or n) "
Notice that when the breakpoing is hit, in both cases, except for the annotation,
the stack location is reported using only the relative source file name (gdb.c),
not the fully qualified name I would expect because I used the -fullname option.
Example [after]:
[dbrueni@falcon gdb]$ ./gdb -fullname ./gdb
GNU gdb 2002-12-10-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Setting up the environment for debugging gdb.
During symbol reading, struct/union type gets multiply defined: struct objfile.
Breakpoint 1 at 0x80f3963: file utils.c, line 799.
Breakpoint 2 at 0x807c6ce: file ./cli/cli-cmds.c, line 202.
(top-gdb) break main
Breakpoint 3 at 0x807791c: file gdb.c, line 28.
(top-gdb) run
Starting program: /home/dbrueni/gdb-latest/src/gdb/gdb
Breakpoint 3, main (argc=1, argv=0xbffffb14)
at /home/dbrueni/gdb-latest/src/gdb/gdb.c:28
<</home/dbrueni/gdb-latest/src/gdb/gdb.c:28:926:beg:0x807791c
(top-gdb) quit
The program is running. Exit anyway? (y or n) y
[dbrueni@falcon gdb]$ ./gdb -fullname -interpreter=mi ./gdb
~"GNU gdb 2002-12-10-cvs\n"
~"Copyright 2002 Free Software Foundation, Inc.\n"
~"GDB is free software, covered by the GNU General Public License, and you are\n"
~"welcome to change it and/or distribute copies of it under certain conditions.\n"
~"Type \"show copying\" to see the conditions.\n"
~"There is absolutely no warranty for GDB. Type \"show warranty\" for details.\n"
~"This GDB was configured as \"i686-pc-linux-gnu\"..."
~"\n"
~"Setting up the environment for debugging gdb.\n"
During symbol reading, struct/union type gets multiply defined: struct objfile.
~"Breakpoint 1 at 0x80f3963: file utils.c, line 799.\n"
~"Breakpoint 2 at 0x807c6ce: file ./cli/cli-cmds.c, line 202.\n"
(gdb)
break main
&"break main\n"
^done
(gdb)
run
&"run\n"
^done,reason="breakpoint-hit",bkptno="3",thread-id="0",frame={addr="0x0807791c",
func="main",args=[{name="argc",value="1"},{name="argv",value="0xbffffb14"}],file
="/home/dbrueni/gdb-latest/src/gdb/gdb.c",line="28"}
(gdb)
quit
&"quit\n"
~"The program is running. Exit anyway? (y or n) "
y
Enjoy in moderation,
--Dennis
--
----------------------------------
Dennis Brueni
Software Engineer
SlickEdit Inc.
3000 Aerial Center Pkwy, Suite 120
Morrisville, NC 27560
Phone: 919.473.0132
Fax: 919.473.0080
dennis@slickedit.com
www.slickedit.com
----------------------------------
--------------060107070808060003030507
Content-Type: application/x-gzip;
name="gdb-fullname-patch.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="gdb-fullname-patch.tar.gz"
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
--------------060107070808060003030507--
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: