rorth wrote:

> > It used to be possible to set CLANG_DEFAULT_LINKER to e.g. gld. This 
> > doesn't work any longer.
> > That said, the patch introduces quite a number of regressions
> 
> There are two, by my count, and they are both "regressions" in the sense that 
> the tests erroneously pass when `gld` is supplied as `CLANG_DEFAULT_LINKER`, 
> not as an environment variable, but rather a CMake variable.
> 
> Indeed, if you `cmake ... _DCLANG_DEFAULT_LINKER=gld` and run the supposedly 
> failing test cases, you'll see this:

The please also try a regression test with 
`-DCLANG_DEFAULT_LINKER=/usr/gnu/bin/ld`, which unless I'm mistaken worked 
before, but no longer does.

Looking at the test output, there's

```
> # |             6:  "gld" "-e" "_start" "-m" "elf_x86_64_sol2" [...]
```
This is wrong: the linker is run using `execve` or `posix_spawn`, both of which 
expect a **pathname**, not a filename, and don't do a `PATH` search.

> That is, a "failing" test case in which clang is clearly doing the correct 
> thing, i.e. respecting your build-time selection, and unlike before, is 
> driving it using the correct set of flags...

I'm afraid that's not true.

https://github.com/llvm/llvm-project/pull/163000
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to