[SYCL][Driver] Do not pass libsycl.so to host linker (#22654)
In previous compiler releases, we linked against `libsycl.so` just with
```
-L<dir>bin/../lib ... -lsycl ...
```
Starting with upstream commit
https://github.com/llvm/llvm-project/pull/174877, we added what should
be a path to `libsycl.so`, resulting in the following in intel/llvm:
```
-L<dir>bin/../lib ... <dir>/bin/../lib/libsycl.so ... -lsycl ...
```
So we do the same thing twice. Note we only do the `-lsycl` part in
intel/llvm, that does not exist upstream.
We have a bug report (CMPLRLLVM-76960) where the path resolution is
failing, we compute an empty path, so we end up trying to link a bare
`libsycl.so` with no path, which fails.
Of course we should fix this, but I think the best solution is:
1) We revert the failing upstream behavior temporarily and return to the
old
```
-L<dir>bin/../lib ... -lsycl ...
```
which has been working fine for years.
2) Separately, debug the failing `libsycl.so` path resolution and fix it
3) Remove the `-lsycl` logic which exists in intel/llvm so that we match
upstream and only use the path to `libsycl.so`, which upstream prefers.
I am not doing 2) and 3) in this PR because we just released intel/llvm
release 7.0.0 and we are going to need 7.0.1 because of this issue, so I
don't want to delay it. I also need to cherry pick this internally ASAP.
After this is merged and cherry picked I will work on steps 2 and 3.
I checked Windows and we do not have a similar issue, so this is the
only fix required.
Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>