From: Eli Zaretskii <eliz@gnu.org>
To: Pedro Alves <palves@redhat.com>
Cc: sergiodj@redhat.com, gdb-patches@sourceware.org
Subject: Re: [PATCH v3 4/5] Implement "set cwd" command on GDB
Date: Fri, 29 Sep 2017 15:31:00 -0000 [thread overview]
Message-ID: <83y3ox7c8a.fsf@gnu.org> (raw)
In-Reply-To: <93153718-e47d-754b-08b6-60f37cf2ba39@redhat.com> (message from Pedro Alves on Wed, 27 Sep 2017 15:01:58 +0100)
> Cc: sergiodj@redhat.com, gdb-patches@sourceware.org
> From: Pedro Alves <palves@redhat.com>
> Date: Wed, 27 Sep 2017 15:01:58 +0100
>
> Let's say that GDB keeps track of the desired cwd for the inferior
> as a single string, like Sergio's patch is doing. Say the user does:
>
> $ gdb
> (gdb) file program
> (gdb) set cwd ~
>
> At this point, GDB it not "connected" to any target yet. However,
> if the user types "run", GDB automatically uses the native
> target to run the inferior. So typing "run" after the above is
> equivalent to:
>
> $ gdb
> (gdb) file program
> (gdb) set cwd ~
> (gdb) target native
> (gdb) run
>
> OK, now the question is, when to expand that '~'. If it is
> expanded immediately at "set cwd" time, then we end up expanding
> it incorrectly in case the user actually wanted to debug remotely:
How about expanding it as part of "target FOO"?
> If GDB does not expand the set cwd path ever except internally
> when starting the inferior, then the problems shown just above
> never happen.
But that's an illusory advantage, isn't it? Because we then keep "~",
but it expands to something different for every target, and the user
has no way of knowing what that will do on another target. Moreover,
the user might not even want to have a different expansion for each
target.
> $ gdb
> (gdb) file program
> (gdb) set cwd ~
> (gdb) show cwd
> cwd is: ~
> expands to /home/pedro on current target
> (gdb) start
> (gdb) show cwd
> cwd is: ~
> expands to /home/pedro on current target
> (gdb) kill
> (gdb) target extended-remote foo:12345
> (gdb) show cwd
> cwd is: ~
> expands to /mnt/home/palves on current target
> (gdb) disconnect
> (gdb) target extended-remote bar:12345
> (gdb) show cwd
> cwd is: ~
> expands to /nfs/homes/pedro on current target
>
> I'm not sure it's worth the trouble to show the
> expansions like this. But if we make GDB _not_ expand
> the "set cwd" setting's value itself, as I was proposing,
> then we can always come back and improve GDB's output like
> above, to inform the user what the setting expands to,
> as extra info.
Maybe making "show cwd" expand in the right context would be a good
middle-ground.
next prev parent reply other threads:[~2017-09-29 15:31 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-12 4:23 [PATCH 0/4] New "set cwd" command Sergio Durigan Junior
2017-09-12 4:23 ` [PATCH 4/4] Implement " Sergio Durigan Junior
2017-09-12 14:50 ` Eli Zaretskii
2017-09-12 4:23 ` [PATCH 2/4] Import "glob" module from gnulib Sergio Durigan Junior
2017-09-12 4:23 ` [PATCH 3/4] Introduce gdb_chdir Sergio Durigan Junior
2017-09-12 14:53 ` Eli Zaretskii
2017-09-13 23:00 ` Sergio Durigan Junior
2017-09-13 16:07 ` Pedro Alves
2017-09-14 15:14 ` Sergio Durigan Junior
2017-09-14 15:23 ` Pedro Alves
2017-09-14 15:33 ` Sergio Durigan Junior
2017-09-12 4:23 ` [PATCH 1/4] Make gdb_dirbuf local to functions Sergio Durigan Junior
2017-09-13 15:12 ` Pedro Alves
2017-09-13 22:03 ` Sergio Durigan Junior
2017-09-13 22:19 ` Pedro Alves
2017-09-13 22:46 ` Sergio Durigan Junior
2017-09-13 23:47 ` Pedro Alves
2017-09-12 14:55 ` [PATCH 0/4] New "set cwd" command Eli Zaretskii
2017-09-12 16:48 ` Sergio Durigan Junior
2017-09-12 16:57 ` Eli Zaretskii
2017-09-12 17:51 ` Sergio Durigan Junior
2017-09-13 15:00 ` Pedro Alves
2017-09-13 15:06 ` Eli Zaretskii
2017-09-13 21:56 ` Sergio Durigan Junior
2017-09-13 14:54 ` Pedro Alves
2017-09-13 21:54 ` Sergio Durigan Junior
2017-09-19 4:28 ` [PATCH v2 0/5] " Sergio Durigan Junior
2017-09-19 4:28 ` [PATCH v2 2/5] Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)" Sergio Durigan Junior
2017-09-20 12:24 ` Pedro Alves
2017-09-20 17:02 ` Sergio Durigan Junior
2017-09-19 4:28 ` [PATCH v2 3/5] Introduce gdb_chdir Sergio Durigan Junior
2017-09-20 13:14 ` Pedro Alves
2017-09-20 17:25 ` Sergio Durigan Junior
2017-09-19 4:28 ` [PATCH v2 4/5] Implement "set cwd" command Sergio Durigan Junior
2017-09-20 14:01 ` Pedro Alves
2017-09-20 23:08 ` Sergio Durigan Junior
2017-09-19 4:33 ` [PATCH v2 5/5] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-20 14:34 ` Pedro Alves
2017-09-20 23:49 ` Sergio Durigan Junior
2017-09-21 1:37 ` Sergio Durigan Junior
2017-09-22 10:47 ` Pedro Alves
2017-09-22 18:33 ` Sergio Durigan Junior
2017-09-27 13:28 ` Pedro Alves
2017-09-19 4:37 ` [PATCH v2 1/5] Import "glob" and "getcwd" modules from gnulib Sergio Durigan Junior
2017-09-20 12:17 ` Pedro Alves
2017-09-20 17:17 ` Sergio Durigan Junior
2017-09-20 17:33 ` Pedro Alves
2017-09-20 18:31 ` Sergio Durigan Junior
2017-09-20 20:30 ` Sergio Durigan Junior
2017-09-20 22:44 ` Pedro Alves
2017-09-20 23:12 ` Sergio Durigan Junior
2017-09-20 23:25 ` Pedro Alves
2017-09-21 22:59 ` New "set cwd" command Sergio Durigan Junior
2017-09-21 22:59 ` [PATCH v3 1/5] Import "glob" and "getcwd" modules from gnulib Sergio Durigan Junior
2017-09-22 11:01 ` Pedro Alves
2017-09-22 17:29 ` Sergio Durigan Junior
2017-09-21 22:59 ` [PATCH v3 4/5] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-09-22 8:03 ` Eli Zaretskii
2017-09-22 12:31 ` Pedro Alves
2017-09-22 18:15 ` Sergio Durigan Junior
2017-09-22 18:00 ` Sergio Durigan Junior
2017-09-22 18:56 ` Eli Zaretskii
2017-09-22 19:24 ` Pedro Alves
2017-09-22 19:41 ` Eli Zaretskii
2017-09-22 20:27 ` Sergio Durigan Junior
2017-09-22 20:37 ` Pedro Alves
2017-09-23 5:55 ` Eli Zaretskii
2017-09-27 14:02 ` Pedro Alves
2017-09-29 15:31 ` Eli Zaretskii [this message]
2017-09-29 15:46 ` Pedro Alves
2017-09-29 17:51 ` Eli Zaretskii
2017-09-23 5:52 ` Eli Zaretskii
2017-09-22 20:24 ` Sergio Durigan Junior
2017-09-23 5:51 ` Eli Zaretskii
2017-09-22 20:55 ` Sergio Durigan Junior
2017-09-23 6:05 ` Eli Zaretskii
2017-09-23 17:01 ` Sergio Durigan Junior
2017-09-21 22:59 ` [PATCH v3 3/5] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-09-22 11:57 ` Pedro Alves
2017-09-22 17:37 ` Sergio Durigan Junior
2017-09-22 17:41 ` Pedro Alves
2017-09-22 18:07 ` Sergio Durigan Junior
2017-09-22 18:20 ` Pedro Alves
2017-09-22 18:22 ` Sergio Durigan Junior
2017-09-21 22:59 ` [PATCH v3 2/5] Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)" Sergio Durigan Junior
2017-09-22 11:19 ` Pedro Alves
2017-09-22 17:30 ` Sergio Durigan Junior
2017-09-21 23:06 ` [PATCH v3 5/5] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-22 8:12 ` Eli Zaretskii
2017-09-22 18:46 ` Sergio Durigan Junior
2017-09-22 19:09 ` Eli Zaretskii
2017-09-22 20:47 ` Sergio Durigan Junior
2017-09-23 6:00 ` Eli Zaretskii
2017-09-27 14:42 ` Pedro Alves
2017-09-27 21:48 ` Sergio Durigan Junior
2017-09-29 14:03 ` Pedro Alves
2017-09-29 18:33 ` Sergio Durigan Junior
2017-09-28 4:10 ` [PATCH v4 0/3] New "set cwd" command Sergio Durigan Junior
2017-09-28 4:10 ` [PATCH v4 1/3] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-09-29 14:08 ` Pedro Alves
2017-09-29 17:48 ` Sergio Durigan Junior
2017-09-28 4:11 ` [PATCH v4 2/3] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-09-29 15:20 ` Pedro Alves
2017-09-29 18:31 ` Sergio Durigan Junior
2017-09-28 4:11 ` [PATCH v4 3/3] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-29 15:21 ` Pedro Alves
2017-09-29 18:48 ` Sergio Durigan Junior
2017-10-03 15:13 ` Pedro Alves
2017-09-29 22:58 ` [PATCH v5 0/3] New "set cwd" command Sergio Durigan Junior
2017-09-29 22:59 ` [PATCH v5 3/3] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-10-03 15:15 ` Pedro Alves
2017-10-03 16:45 ` Sergio Durigan Junior
2017-10-04 6:09 ` Sergio Durigan Junior
2017-09-29 22:59 ` [PATCH v5 2/3] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-10-03 15:15 ` Pedro Alves
2017-10-03 16:39 ` Sergio Durigan Junior
2017-10-03 16:44 ` Pedro Alves
2017-10-03 16:47 ` Sergio Durigan Junior
2017-10-03 16:58 ` Sergio Durigan Junior
2017-10-03 20:09 ` Sergio Durigan Junior
2017-10-03 21:29 ` Pedro Alves
2017-10-04 5:40 ` Eli Zaretskii
2017-10-04 6:10 ` Sergio Durigan Junior
2017-10-06 2:37 ` asmwarrior
2017-10-06 10:54 ` [pushed] Fix GDB build under msys+mingw gcc 32bit (Re: [PATCH v5 2/3] Implement "set cwd" command on GDB) Pedro Alves
2017-10-06 11:06 ` [pushed] Fix more GDB build breakage on mingw32 " Pedro Alves
2017-10-06 11:15 ` asmwarrior
2017-10-09 21:58 ` Sergio Durigan Junior
2017-09-29 22:59 ` [PATCH v5 1/3] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-10-03 15:15 ` Pedro Alves
2017-10-04 6:09 ` Sergio Durigan Junior
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=83y3ox7c8a.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=sergiodj@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