This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PING] [PATCH v2 0/4] Some fixes for debug files and sysroots
- From: Simon Marchi <simark at simark dot ca>
- To: John Baldwin <jhb at FreeBSD dot org>, gdb-patches at sourceware dot org
- Cc: Simon Marchi <simon dot marchi at ericsson dot com>
- Date: Mon, 11 Feb 2019 21:53:48 -0500
- Subject: Re: [PING] [PATCH v2 0/4] Some fixes for debug files and sysroots
- References: <cover.1548707934.git.jhb@FreeBSD.org> <ddc60bc7-a1f3-ce7a-9959-143b04541fdc@FreeBSD.org>
On 2019-02-11 12:54 p.m., John Baldwin wrote:
> On 1/28/19 12:47 PM, John Baldwin wrote:
>> Relative to the first series:
>>
>> 1) I combined the duplicate checks for "are we in a sysroot" in the
>> first patch as as suggested by Simon.
>>
>> 2) I dropped the second patch (trim trailing '/' from sysroot).
>>
>> 3) Patches 2 and 3 are a different take on solving the issue when the
>> sysroot ends in '/'. Patch 2 adds a 'child_path' function to
>> determine if a child path is a child of a parent (requiring the child
>> to have at least one component "below" the parent). It also returns
>> a pointer to the first component below the parent (but after the
>> directory separator). Patch 3 uses child_path in
>> find_separate_debug_file which fixes it in the case that the sysroot
>> ends in a /.
>>
>> 4) The 4th patch is a new patch for a different issue I ran into while
>> testing this some more today. The paths to object files are always
>> canonical paths with symlinks resolved. If the sysroot entered by
>> the user is a path containing symlinks, the filename_ncmp will
>> never match. To handle sysroot paths that traverse symlinks,
>> use gdb_realpath to generate a canonical sysroot path and use that
>> instead of gdb_sysroot with child_path.
>>
>> As an aside, it's not clear to me when one should use gdb_realpath
>> instead of lrealpath. gdb_realpath seems more widespread and also
>> returns an RAII-friendly type, so I used that.
>>
>> John Baldwin (4):
>> Look for separate debug files in debug directories under a sysroot.
>> Add a new function child_path.
>> Use child_path to determine if an object file is under a sysroot.
>> Try to use the canonical version of a sysroot for debug file links.
>
> Just a ping.
>
Hi John,
Note the comments on patch #2, otherwise this LGTM.
Thanks!
Simon