internal/rosa: patch library paths
All checks were successful
Test / Create distribution (push) Successful in 49s
Test / Sandbox (push) Successful in 2m41s
Test / Hakurei (push) Successful in 3m54s
Test / ShareFS (push) Successful in 3m57s
Test / Hpkg (push) Successful in 4m36s
Test / Sandbox (race detector) (push) Successful in 5m5s
Test / Hakurei (race detector) (push) Successful in 5m59s
Test / Flake checks (push) Successful in 1m40s

This removes the need for reference LDFLAGS in the standard toolchain.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-23 02:41:35 +09:00
parent 5c127a7035
commit f6eaf76ec9
7 changed files with 110 additions and 36 deletions

View File

@@ -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() +