Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@redhat.com>
To: david carlton <carlton@math.Stanford.EDU>
Cc: gdb-patches@sources.redhat.com
Subject: Re: gdbinit.in
Date: Tue, 30 Jul 2002 05:27:00 -0000	[thread overview]
Message-ID: <npwurdvh1s.fsf@zwingli.cygnus.com> (raw)
In-Reply-To: <15681.37431.43397.452535@jackfruit.Stanford.EDU>


I think I like your original patch best.  I'll commit that.

david carlton <carlton@math.Stanford.EDU> writes:

> On 26 Jul 2002 12:17:47 -0500, Jim Blandy <jimb@redhat.com> said:
> > david carlton <carlton@math.stanford.edu> writes:
> 
> >> When debugging GDB, if I'm looking at a function in corefile.c, it
> >> finds the one in bfd/corefile.c rather than the one in
> >> gdb/corefile.c.
> 
> > The directory list maintained by the `dir' command only helps GDB
> > find source files for code listings.
> 
> My apologies for being unclear;  that's what I was referring to.  (I
> should know better than to submit such a vague bug report.)
> 
> If, from within the GDB source directory, I do
> 
> $ gdb gdb
> (top-gdb) dir ./../bfd
> (top-gdb) b read_memory
> (top-gdb) run gdb
> 
> I get a bunch of output and then
> 
> Breakpoint 3, read_memory (memaddr=135224950, myaddr=0x828b92c "", len=1)
>     at corefile.c:236
> Line number 236 out of range; corefile.c has 105 lines.
> 
> Whereas if I do
> 
> $ gdb gdb
> (top-gdb) dir .
> (top-gdb) b read_memory
> (top-gdb) run gdb
> 
> I get a bunch of output and then
> 
> Breakpoint 3, read_memory (memaddr=135224950, myaddr=0x828b92c "", len=1)
>     at corefile.c:236
> 236	  status = target_read_memory (memaddr, myaddr, len);
> 
> 
> Now I've investigated this some more, and I'm even more confused.
> 
> * Either a binary contains complete paths for its source files in its
>   debugging information, or it doesn't.
> 
> * If it does, then using 'dir' is rarely likely to be a good idea.
>   The binary contains the correct information; dir might tell GDB to
>   mistakenly look in the wrong directory.  This occurs in the first
>   example above.  (I'm not sure whether or not I think it's a good
>   idea for GDB to look in location listed in the binary before
>   searching the directories specified by 'dir', but that seems to me
>   to be worth considering.  Given the info node (gdb)Source Path,
>   though, I suspect that idea has been considered and rejected.)
> 
> * On my computer, it would seem that the debugging information _does_
>   contain full pathnames.  So the best situation for me personally is
>   to remove all of the dir commands from .gdbinit (and from
>   gdbinit.in).
> 
> * If, on most people's computers, the debugging information does
>   contain full pathnames, then I think we should remove all of the dir
>   command from gdbinit.in.  (Patch below my signature.)  Otherwise, if
>   configure can auto-detect whether the debugging information is rich
>   enough, then the dir commands should only be included conditionally.
> 
> * In the unfortunate situation where debugging information doesn't
>   contain full pathnames, the dir lines are useful.  In this case, the
>   question is: if a file name occurs in both the GDB directory and
>   another directory, are people debugging GDB more likely to encounter
>   code in the file in the GDB directory or the other directory?  My
>   guess is that the answer is "the GDB directory"; in that case, the
>   command 'dir @srcdir@' should be moved further down in gdbinit.in,
>   as my previous patch suggested.
> 
> * For what it's worth,
> 
>     for file in *.c *.h
>       do ls ../{mmalloc,libiberty,bfd}/$file
>     done 2>&1| grep -v 'No such file or directory'
> 
>   from within the GDB directory turns up
> 
>     ../bfd/corefile.c
>     ../bfd/init.c
>     ../bfd/config.h
>     ../libiberty/config.h
>     ../bfd/version.h
> 
>   So there aren't a whole lot of clashes.
> 
> * And yes, I do realize that, as bugs go, this isn't a particularly
>   serious one...
> 
> David Carlton
> carlton@math.stanford.edu
> 
> Index: gdbinit.in
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbinit.in,v
> retrieving revision 1.1.1.2
> diff -c -p -r1.1.1.2 gdbinit.in
> *** gdbinit.in	16 Aug 1999 19:52:40 -0000	1.1.1.2
> --- gdbinit.in	26 Jul 2002 17:59:56 -0000
> *************** commands
> *** 10,18 ****
>   	return
>   end
>   
> - dir @srcdir@
> - dir .
> - dir @srcdir@/../mmalloc
> - dir @srcdir@/../libiberty
> - dir @srcdir@/../bfd
>   set prompt (top-gdb) 
> --- 10,13 ----
> 
> 2002-07-26  david carlton  <carlton@math.stanford.edu>
> 
> 	* gdbinit.in: Removed all dir commands.


      reply	other threads:[~2002-07-30  6:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-25 17:41 gdbinit.in david carlton
2002-07-26 11:17 ` gdbinit.in Jim Blandy
2002-07-26 14:30   ` gdbinit.in david carlton
2002-07-30  5:27     ` Jim Blandy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=npwurdvh1s.fsf@zwingli.cygnus.com \
    --to=jimb@redhat.com \
    --cc=carlton@math.Stanford.EDU \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox