diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2020-03-23 15:33:56 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2020-03-26 10:35:38 -0400 |
commit | d63a809da467e646480c273b8eb276401679d2bb (patch) | |
tree | bc880511d67177f17cc179750c7968e089bce8be /doc/debuginfod.8 | |
parent | 439641e52a3258ddfa66661f5de8bbcdb1530fc1 (diff) | |
download | elfutils-d63a809da467e646480c273b8eb276401679d2bb.tar.gz |
PR25548: support canonicalized source-path names in debuginfod webapi
Programs are sometimes compiled with source path names containing
noise like /./ or // or /foo/../, and these survive into DWARF. This
code allows either raw or canonicalized pathnames in the webapi, by
letting the client pass things verbatim, and letting the server
store/accept both raw and canonicalized path names for source files.
Tests included & docs updated.
Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
Reported-by: Eli Schwartz <eschwartz@archlinux.org>
Tested-by: Eli Schwartz <eschwartz@archlinux.org>
Diffstat (limited to 'doc/debuginfod.8')
-rw-r--r-- | doc/debuginfod.8 | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/doc/debuginfod.8 b/doc/debuginfod.8 index 39d1904e..64795c24 100644 --- a/doc/debuginfod.8 +++ b/doc/debuginfod.8 @@ -265,10 +265,11 @@ is made up of multiple CUs. Therefore, to disambiguate, debuginfod expects source queries to prefix relative path names with the CU compilation-directory, followed by a mandatory "/". -Note: contrary to RFC 3986, the client should not elide \fB../\fP or -\fB/./\fP or extraneous \fB///\fP sorts of path components in the -directory names, because if this is how those names appear in the -DWARF files, that is what debuginfod needs to see too. +Note: the caller may or may not elide \fB../\fP or \fB/./\fP or extraneous +\fB///\fP sorts of path components in the directory names. debuginfod +accepts both forms. Specifically, debuginfod canonicalizes path names +according to RFC3986 section 5.2.4 (Remove Dot Segments), plus reducing +any \fB//\fP to \fB/\fP in the path. For example: .TS |