What about following approach...
Index: Support/Unix/Path.inc
===================================================================
--- Support/Unix/Path.inc (revision 141912)
+++ Support/Unix/Path.inc (working copy)
@@ -251,6 +251,9 @@
Path
Path::GetCurrentDirectory() {
+#if defined(__GOOGLES_SYMLINKED_BUILD_ENV__) || defined(__NEED_TO_USE_PWD__)
+ return Path(getenv("PWD"))
+#endif
char pathname[MAXPATHLEN];
if (!getcwd(pathname, MAXPATHLEN)) {
assert(false && "Could not query current working directory.");
?
-
Devang
On Oct 20, 2011, at 3:53 PM, Nick Lewycky wrote:
> [+cfe-commits now that this has a patch.]
>
> On 20 October 2011 14:59, Nick Lewycky <[email protected]> wrote:
> On 20 October 2011 14:55, Chandler Carruth <[email protected]> wrote:
> On Thu, Oct 20, 2011 at 2:03 PM, Nick Lewycky <[email protected]> wrote:
> To understand why, you first need to know that we run builds on hermetic
> build machines.
>
> I'm not really sure why our build system is relevant here.
>
> Only because there are ways to fix that problem which would still break
> caching in our build system. I wanted to steer us away from that.
>
> This has been a problem for me many times using very mundane and ordinary
> build systems. If I build on machine X and then copy the binary to machine Y,
> it can't find the source code if it is stored in a different directory, even
> if the directory structure is entirely compatible.
>
> Why can't we follow GCC's lead here, and use PWD (when on a system with such
> a concept) as the basis for DW_AT_comp_dir? I think what I'm missing is why
> doing that causes problems...
>
> Works for me. I just want agreement for what to do (flag, using PWD,
> whatever). I honestly don't care how it works as long as it works. I can
> propose a patch using PWD if you want, the plumbing through -cc1 will be the
> same either way.
>
> Ok, here's a patch that passes PWD through from the driver into the .bc, and
> it comes out in the .o files. Yay!
>
> Please review!
>
> Nick
>
> Nick
>
> Chris's objections (which seem reasonable) are to *always* using PWD. To be
> clear, I'm not suggesting that. I'm suggesting that the Clang driver, which
> is already quite aware of the user's shell, can inspect PWD and getcwd and
> consult any other oracle needed to determine a valid working directory, and
> then pass it via an internal-only flag to the CC1 layer IFF it differs from
> getcwd.
>
>
> <dwarf-comp-dir-1.patch>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits