commit | 81e6ac84f29cb62902fb3bb12a7b9b7e07396087 | [log] [tgz] |
---|---|---|
author | Zachary Turner <zturner@google.com> | Wed Feb 06 00:50:35 2019 +0000 |
committer | Zachary Turner <zturner@google.com> | Wed Feb 06 00:50:35 2019 +0000 |
tree | 5098a3d3a68596890641c6907a6cdbe3cac24aae | |
parent | 44ee588274e0593a9c8ea2d71b8eb741b6965a21 [diff] |
[PDB] Remove dots and normalize slashes with /PDBSOURCEPATH. In a previous patch, I made changes so that PDBs which were generated on non-Windows platforms contained sensical paths for the host. While this is an esoteric use case, we need it to be supported for certain cross compilation scenarios especially with LLDB, which can debug things on non-Windows platforms. However, this regressed a case where you specify /PDBSOURCEPATH and use a windows-style path. Previously, we would still remove dots and canonicalize slashes to backslashes, but since my change intentionally tried to support non-backslash paths, this was broken. This patch fixes the situation by trying to guess which path style the user is specifying when /PDBSOURCEPATH is passed. It is intentionally conservative, erring on the side of a Windows path style unless absolutely certain. All dots are removed and slashes canonicalized to whatever the deduced path style is after appending the file path to the /PDBSOURCEPATH argument. Differential Revision: https://reviews.llvm.org/D57769 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@353250 91177308-0d34-0410-b5e6-96231b3b80d8
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.