llvm / llvm/llvm-project

Making fuse-ld=lld work for --target=x86_64-pc-solaris2.11

Open
#202,963 0 comments 0 reactions 0 assignees View on GitHub
lld
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

We have illumos sysroot created with:

```sh
$ curl -sSL https://github.com/dotnet/arcade/raw/0a80b03/eng/common/cross/build-rootfs.sh | \
bash -s -- illumos x64 --rootfsdir /tmp/crossrootfs/x64
```

It installs host: linux-x64, target: illumos-x64 cross gcc toolchain at rootfsdir. From there, we use gcc toolchain to compiler code; it uses solaris linker.

If we try using host machine's `lld`, it runs into a few (workaroundable) errors.

Repro, fuse-ld=lld is instantly rejected:
```sh
$ ROOTFS_DIR=/tmp/crossrootfs/x64
$ clang-21 --target=x86_64-pc-solaris2.11 --sysroot=$ROOTFS_DIR \
--gcc-install-dir=$ROOTFS_DIR/lib/gcc/x86_64-sun-solaris2.11/13.3.0 -fuse-ld=lld -xassembler - <

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.