Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Gary Benson <gbenson@redhat.com>
To: Eli Zaretskii <eliz@gnu.org>, Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 3/7] Use gdb_sysroot for main executable on attach
Date: Wed, 15 Apr 2015 12:45:00 -0000	[thread overview]
Message-ID: <20150415124500.GB23948@blade.nx> (raw)
In-Reply-To: <83619fsxx2.fsf@gnu.org>

Eli Zaretskii wrote:
> > From: Gary Benson <gbenson@redhat.com>
> > Date: Wed,  1 Apr 2015 12:22:17 +0100
> > 
> > +* Paths specified by "set sysroot" will be prepended to the path of
> > +  the main executable when attaching to already-running processes
> > +  (local and remote) if the path of the main executable is reported
> > +  to GDB as absolute by the operating system.
> 
> Please don't use "path" when you really mean "file name".
> 
> > +shared library paths will be prefixed with @var{path}; many runtime
> > +loaders store the absolute paths to the shared library in the target
> > +program's memory.  When attaching to already-running processes, their
> > +paths will be prefixed with @var{path} if reported to @value{GDBN} as
> > +absolute by the operating system.  If you use @code{set sysroot} to
> > +find executables and shared libraries, they need to be laid out in
> > +the same way that they are on the target, with e.g.@: a @file{/bin},
> > +@file{/lib} and @file{/usr/lib} hierarchy under @var{path}.
> 
> Same here.  (Yes, I know that the previous text also used "path").

Pedro Alves wrote:
> This "When attaching to already-running processes" part confuses me,
> as the sysroot is also prepended to paths in the "run" case.

How about these replacements for those two chunks:

NEWS:
+* The system root specified by "set sysroot" will be prepended to the
+  filename of the main executable (if reported to GDB as absolute by
+  the operating system) when starting processes remotely, and when
+  attaching to already-running local or remote processes.

gdb.texinfo:
 Use @var{path} as the system root for the program being debugged. Any
 absolute shared library paths will be prefixed with @var{path}; many
 runtime loaders store the absolute paths to the shared library in the
-target program's memory.  If you use @code{set sysroot} to find shared
-libraries, they need to be laid out in the same way that they are on
-the target, with e.g.@: a @file{/lib} and @file{/usr/lib} hierarchy
-under @var{path}.
+target program's memory.  When starting processes remotely, and when
+attaching to already-running processes (local or remote), their
+filenames will be prefixed with @var{path} if reported to @value{GDBN}
+as absolute by the operating system.  If you use @code{set sysroot} to
+find executables and shared libraries, they need to be laid out in the
+same way that they are on the target, with e.g.@: a @file{/bin},
+@file{/lib} and @file{/usr/lib} hierarchy under @var{path}.

At this point in the series the prefixing only happens when attaching
to local processes--attaching to some remote processes appears in
patch 5, and attaching to all remote processes and to remote processes
we start is patch 7--but I didn't want to jiggle the doc at every
step.  The above chunks are for the whole thing, which I can leave
here in patch 3 or move to patch 7, whatever people prefer.

Cheers,
Gary

-- 
http://gbenson.net/


  reply	other threads:[~2015-04-15 12:45 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-01 11:22 [PATCH 0/7] Do not require "file" commands for remote targets Gary Benson
2015-04-01 11:22 ` [PATCH 3/7] Use gdb_sysroot for main executable on attach Gary Benson
2015-04-01 14:53   ` Eli Zaretskii
2015-04-15 12:45     ` Gary Benson [this message]
2015-04-15 10:43   ` Pedro Alves
2015-04-01 11:22 ` [PATCH 2/7] Introduce exec_file_find Gary Benson
2015-04-01 11:22 ` [PATCH 1/7] Introduce exec_file_locate_attach Gary Benson
2015-04-01 11:27 ` [PATCH 4/7] Introduce linux_pid_to_exec_file Gary Benson
2015-04-06 16:41   ` Doug Evans
2015-04-07  9:07     ` Gary Benson
2015-04-08  3:15       ` Doug Evans
2015-04-08  8:06         ` Gary Benson
2015-04-15  9:37   ` Pedro Alves
2015-04-15 13:14     ` [PATCH 4/7 v2] Introduce linux_proc_pid_to_exec_file Gary Benson
2015-04-15 16:01       ` Pedro Alves
2015-04-01 11:29 ` [PATCH 5/7] Implement remote_pid_to_exec_file using qXfer:exec-file:read Gary Benson
2015-04-01 14:55   ` Eli Zaretskii
2015-04-06 17:00     ` Doug Evans
2015-04-06 17:21       ` Eli Zaretskii
2015-04-06 21:57         ` Doug Evans
2015-04-07  6:09           ` Eli Zaretskii
2015-04-07  9:08         ` Gary Benson
2015-04-08  1:57           ` Doug Evans
2015-04-08  6:00             ` Eli Zaretskii
2015-04-01 11:30 ` [PATCH 6/7] Implement qXfer:exec-file:read in gdbserver Gary Benson
2015-04-06 17:11   ` Doug Evans
2015-04-07  9:19     ` Gary Benson
2015-04-17 23:43   ` Possible regression on gdb.base/attach.exp when using native-extended-gdbserver (was: Re: [PATCH 6/7] Implement qXfer:exec-file:read in gdbserver) Sergio Durigan Junior
2015-04-20  9:13     ` Gary Benson
2015-04-20 10:41     ` [OB PATCH] Fix three test failures with extended remote targets Gary Benson
2015-04-01 11:39 ` [PATCH 7/7] Access executable from remote system when first inferior appears Gary Benson
2015-04-15 10:24   ` Pedro Alves
2015-04-15 13:56     ` Gary Benson
2015-04-15 14:06       ` Gary Benson
2015-04-15 16:15         ` Pedro Alves
2015-04-15 16:09       ` Pedro Alves
2015-04-16  8:23         ` Gary Benson
2015-04-15 16:13       ` Pedro Alves
2015-04-16  9:30         ` Gary Benson
2015-04-16  9:53           ` Pedro Alves
2015-04-16 11:47             ` Gary Benson
2015-04-16 15:06             ` Eli Zaretskii
2015-04-16 15:23               ` Pedro Alves
2015-04-16 15:05           ` Eli Zaretskii
2015-04-16 19:34             ` Gary Benson
2015-04-15 16:21       ` Eli Zaretskii
2015-04-15 10:47 ` [PATCH 0/7] Do not require "file" commands for remote targets Pedro Alves
2015-04-15 12:02   ` Gary Benson
2015-04-15 12:16     ` Pedro Alves
2015-04-15 14:16   ` Gary Benson
2015-04-15 16:20     ` Pedro Alves
2015-04-17  9:01       ` Gary Benson

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=20150415124500.GB23948@blade.nx \
    --to=gbenson@redhat.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@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