[PING] [PATCH v2 0/4] Some fixes for debug files and sysroots

Simon Marchi simark@simark.ca
Tue Feb 12 02:53:00 GMT 2019


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



More information about the Gdb-patches mailing list