<div class="gmail_quote">On Sun, Oct 2, 2011 at 11:44 AM, David Chisnall <span dir="ltr"><<a href="mailto:csdavec@swan.ac.uk">csdavec@swan.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> I'm still happy for you to propose patches using -B, but they need to not break existing use cases.<br>
<br>
</div>It would help if you told me WHAT didn't work with my last patch.  I added = to the start of a couple of paths.  If -B is not specified, then this should have no effect.  If -B is specified and the searched-for files do not exist in that location, then it should still have no effect...</blockquote>
</div><div><br></div><div>When -B was not specified, there was an '=' prefixing those paths as handed to the linker. You can see this by running clang with '-###'. That's why I checked in the test case I did afterward. Also, when -B is not specified, GCC does the exact same thing, passing the '=' prefixed paths down to the linker.</div>
<br><div>From my commit message that did the revert:</div><br><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
The manual pages for 'ld' on Linux mention translating a '=' at the<br>beginning of the path into a *configure time* sysroot prefix (this is,<br>I believe, distinct from the --sysroot flag which 'ld' also can<br>
support). I tested this with a normal binutils 'ld', a binutils 'ld'<br>with the sysroot flag enabled, and gold with the sysroot flag enabled,<br>and all of them try to open the path '=/lib/../lib32', No translation<br>
occurs. </blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
I think at the very least inserting an '=' needs to be conditioned on<br>some indication that it is supported and desired. I'm also curious to<br>see what toolchain and whan environment cause it to actually make<br>
a difference.</blockquote><div><br></div><div> As you can see, just inserting a '=' prefix isn't viable. There needs to be some conditioning or some translation.</div>