diff options
Diffstat (limited to 'internal/rosa/rosa.go')
| -rw-r--r-- | internal/rosa/rosa.go | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go index 795394c2..06f73c67 100644 --- a/internal/rosa/rosa.go +++ b/internal/rosa/rosa.go @@ -65,10 +65,9 @@ const ( EnvTriplet = "ROSA_TRIPLE" ) -// ldflags returns LDFLAGS corresponding to triplet. -func ldflags(static bool) string { - s := "LDFLAGS=" + - "-fuse-ld=lld " + +// earlyLDFLAGS returns LDFLAGS corresponding to triplet. +func earlyLDFLAGS(static bool) string { + s := "-fuse-ld=lld " + "-L/system/lib -Wl,-rpath=/system/lib " + "-L/system/lib/" + triplet() + " " + "-Wl,-rpath=/system/lib/" + triplet() + " " + @@ -76,7 +75,7 @@ func ldflags(static bool) string { "-unwindlib=libunwind " + "-Wl,--as-needed" if !static { - s += " -Wl,--dynamic-linker=/system/lib/ld-musl-x86_64.so.1" + s += " -Wl,--dynamic-linker=/system/bin/linker" } return s } @@ -199,7 +198,7 @@ ln -vs ../usr/bin /work/bin env = fixupEnviron(env, []string{ EnvTriplet + "=" + triplet(), lcMessages, - ldflags(true), + "LDFLAGS=" + earlyLDFLAGS(true), }, "/system/bin", "/usr/bin", "/usr/lib/llvm/21/bin", @@ -220,8 +219,6 @@ ln -vs ../usr/bin /work/bin EnvTriplet + "=" + triplet(), lcMessages, - ldflags(false), - "AR=ar", "RANLIB=ranlib", "LIBCC=/system/lib/clang/21/lib/" + triplet() + |
