Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Eli Zaretskii" <eliz@gnu.org>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFC] fullname attribute for GDB/MI stack frames
Date: Wed, 04 May 2005 21:24:00 -0000	[thread overview]
Message-ID: <01c550ef$Blat.v2.4$6d63f3c0@zahav.net.il> (raw)
In-Reply-To: <20050504202959.GA781@nevyn.them.org> (message from Daniel Jacobowitz on Wed, 4 May 2005 16:29:59 -0400)

> Date: Wed, 4 May 2005 16:29:59 -0400
> From: Daniel Jacobowitz <drow@false.org>
> Cc: gdb-patches@sources.redhat.com
> 
> This is where you have completely lost me.  I need for you to explain
> why it is OK for the "fully qualified file name" not to be an absolute
> path on DJGPP.

Because of 2 reasons: (1) there's nothing wrong with d:foo, so
resolving the cwd on drive d: would mean gratuitous DOS-specific code
in a general-purpose source file, which I try to avoid; and (2) because 
years I spent porting dozens of GNU packages to DJGPP led me to this
engineering decision which I found to work well in _all_ of the many
packages I ported.  I'm not going to go back and recollect all of the
complicated situations and reiterate hundreds of hours of testing and
debugging, just so that openp and xfullpath will look logically
perfect to an outsider.

> If we successfully find a file, openp will already call xfullpath,

Please let's not forget that xfullpath and gdb_realpath are also
functions on their own.  Not every file they deal with is going to be
opened with openp.  Thus, some transformations of the file names is
not going to be positively validated by opening the resulting name.

> after optionally prepending the current notion of current directory (in
> the correct circumstances, i.e. !IS_ABSOLUTE_PATH, though I have begun
> to think that that macro is seriously misnamed).

See, that's exactly what I was afraid of: first, you want to make the
regex right, then you question functions that worked for years since I
fixed them, then you question IS_ABSOLUTE_PATH which works for I don't
remember how much time in I don't remember how many ports I made...

IS_ABSOLUTE_PATH says that d:foo is an absolute file name for a very
good reason: that non-absolute file names are treated in a way that is
blatantly incorrect on Windows (e.g., by prepending the cwd to them).
If you want a better name, think of it as ISNT_NOT_ABSOLUTE_PATH,
okay?

> xfullpath calls gdb_realpath.  At the moment that doesn't include the
> MinGW32 bits to call resolve Windows paths to include the correct
> drive/directory.  That's simply an oversight; when this discussion is
> over, I intend to fix it by using the implementation from libiberty,
> which GCC already uses.

Beware: you might break things by this change, since currently
lrealpath returns file names with backslashes, which is not a good
idea in a program that came from the Posix world.

And even after that, there will be problems with UNCs and other
subtleties.

> With that change, the special case code in xfullpath to turn "d:foo"
> into "d:.\foo" (which I do understand and see the justification for)

d:./foo has the same issues you didn't like in d:foo: it still doesn't
resolve the current directory.  So I don't understand why it is better
for you.

The reason that d:foo is converted to d:./foo is that the rest of the
code needs at least one slash in the file name.  So we supply one.
Adding a syscall to find the cwd on drive d: would be an unjustified
complication: another syscall, the need to deal with errors, etc.


  reply	other threads:[~2005-05-04 21:24 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-01 19:13 Dennis Brueni
2005-04-02  9:22 ` Eli Zaretskii
2005-04-30 19:18 ` Daniel Jacobowitz
2005-05-01  2:19   ` Bob Rossi
2005-05-01 18:24     ` Eli Zaretskii
2005-05-01 18:34       ` Bob Rossi
2005-05-01 19:02         ` Daniel Jacobowitz
2005-05-02  0:55           ` Bob Rossi
2005-05-02  0:54       ` Bob Rossi
2005-05-02  0:58         ` Daniel Jacobowitz
2005-05-02 19:30         ` Eli Zaretskii
2005-05-02 19:36           ` Bob Rossi
2005-05-02 19:52             ` Eli Zaretskii
2005-05-02 19:55               ` Daniel Jacobowitz
2005-05-02 20:42                 ` Eli Zaretskii
2005-05-02 20:49                   ` Daniel Jacobowitz
2005-05-02 21:20                     ` Bob Rossi
2005-05-03  3:49                       ` Eli Zaretskii
2005-05-03  3:42                     ` Eli Zaretskii
2005-05-03  3:46                       ` Daniel Jacobowitz
2005-05-03 19:36                         ` Eli Zaretskii
2005-05-03 19:49                           ` Daniel Jacobowitz
2005-05-03 20:05                             ` Bob Rossi
2005-05-03 20:49                             ` Eli Zaretskii
2005-05-04 13:34                               ` Daniel Jacobowitz
2005-05-04 13:51                                 ` Bob Rossi
2005-05-04 13:52                                   ` Daniel Jacobowitz
2005-05-04 17:51                                   ` Eli Zaretskii
2005-05-04 18:06                                     ` Bob Rossi
2005-05-04 20:32                                       ` Eli Zaretskii
2005-05-04 18:05                                 ` Eli Zaretskii
2005-05-04 18:32                                   ` Daniel Jacobowitz
2005-05-04 20:53                                     ` Eli Zaretskii
2005-05-04 21:07                                       ` Daniel Jacobowitz
2005-05-04 21:42                                         ` Eli Zaretskii
2005-05-04 22:01                                           ` Daniel Jacobowitz
2005-05-04 23:42                                             ` Christopher Faylor
2005-05-05  4:15                                             ` Eli Zaretskii
2005-05-04 23:40                                         ` Christopher Faylor
2005-05-05  0:05                                           ` Bob Rossi
2005-05-05  4:02                                           ` Eli Zaretskii
2005-05-04 23:37                                       ` Christopher Faylor
2005-05-05  4:05                                         ` Eli Zaretskii
2005-05-03 19:57                           ` Bob Rossi
2005-05-03 21:15                             ` Eli Zaretskii
2005-05-03 21:39                               ` Bob Rossi
2005-05-03 22:14                                 ` Christopher Faylor
2005-05-04  4:08                                   ` Eli Zaretskii
2005-05-04 13:39                                     ` Daniel Jacobowitz
2005-05-04 17:49                                       ` Eli Zaretskii
2005-05-04  4:18                                 ` Eli Zaretskii
2005-05-03 21:39                               ` Christopher Faylor
2005-05-03 22:24                                 ` Daniel Jacobowitz
2005-05-03 22:27                                   ` Christopher Faylor
2005-05-04  2:32                                     ` Bob Rossi
2005-05-04  3:05                                       ` Christopher Faylor
2005-05-04 17:42                                       ` Eli Zaretskii
2005-05-04  4:12                                   ` Eli Zaretskii
2005-05-04 13:00                                     ` Daniel Jacobowitz
2005-05-04  4:27                                 ` Eli Zaretskii
2005-05-04 11:48                                   ` Bob Rossi
2005-05-04 14:55                                     ` Christopher Faylor
2005-05-04 15:02                                       ` Bob Rossi
2005-05-04 17:43                                       ` Eli Zaretskii
2005-05-04 17:58                                         ` Christopher Faylor
2005-05-04 18:29                                           ` Eli Zaretskii
2005-05-04 20:39                                           ` Eli Zaretskii
2005-05-04 23:34                                             ` Christopher Faylor
2005-05-05  4:08                                               ` Eli Zaretskii
2005-05-04 13:45                                   ` Daniel Jacobowitz
2005-05-04 20:20                                     ` Eli Zaretskii
2005-05-04 20:30                                       ` Daniel Jacobowitz
2005-05-04 21:24                                         ` Eli Zaretskii [this message]
2005-05-04 14:52                                   ` Christopher Faylor
2005-05-04 17:48                                     ` Eli Zaretskii
2005-05-04 18:03                                       ` Christopher Faylor
2005-05-04 18:26                                         ` Eli Zaretskii
2005-05-03 22:50                           ` Bob Rossi
2005-05-04  4:04                             ` Eli Zaretskii
2005-05-05 17:20       ` Bob Rossi
2005-05-05 18:04         ` Eli Zaretskii
2005-05-05 19:18         ` Christopher Faylor
2005-05-05 23:53           ` Bob Rossi
2005-05-05 16:22     ` Bob Rossi
2005-05-05 16:26       ` Daniel Jacobowitz
2005-05-05 16:46         ` Bob Rossi
2005-05-05 17:17           ` Daniel Jacobowitz
2005-05-18  4:44   ` Daniel Jacobowitz
  -- strict thread matches above, loose matches on Subject: below --
2005-05-05 15:15 Dennis Brueni
2005-05-05 15:25 ` Bob Rossi
2005-05-05 15:28   ` Daniel Jacobowitz
2005-05-05 15:32     ` Bob Rossi
2005-05-02 14:22 Dennis Brueni
2005-05-02 19:38 ` Eli Zaretskii
2005-04-01 15:09 Dennis Brueni
2005-03-29 20:43 Dennis Brueni
2005-03-30  4:46 ` Eli Zaretskii
2005-04-01  1:41 ` Bob Rossi
2005-03-26 13:43 Eli Zaretskii
2005-03-26 13:50 ` Bob Rossi
2005-03-24 20:49 Dennis Brueni
2005-03-23 22:22 Dennis Brueni
2005-03-23 22:34 ` Bob Rossi

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='01c550ef$Blat.v2.4$6d63f3c0@zahav.net.il' \
    --to=eliz@gnu.org \
    --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