[llvm] 3518707 - [AIX][llvm-go] AIX linker does not recognize `-rpath`
Steven Wan via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 15 10:13:24 PST 2021
Author: Steven Wan
Date: 2021-11-15T13:13:08-05:00
New Revision: 351870720fcb67f260df031f9425acfd641f5f2d
URL: https://github.com/llvm/llvm-project/commit/351870720fcb67f260df031f9425acfd641f5f2d
DIFF: https://github.com/llvm/llvm-project/commit/351870720fcb67f260df031f9425acfd641f5f2d.diff
LOG: [AIX][llvm-go] AIX linker does not recognize `-rpath`
The existing logic adds `-rpath` to CGO_LDFLAGS, which is not a valid linker option on AIX. This patch substitutes it with `-blibpath` on AIX.
Reviewed By: daltenty
Differential Revision: https://reviews.llvm.org/D113704
Added:
Modified:
llvm/tools/llvm-go/llvm-go.go
Removed:
################################################################################
diff --git a/llvm/tools/llvm-go/llvm-go.go b/llvm/tools/llvm-go/llvm-go.go
index a0561dd5fd8d9..dc928b89bb43a 100644
--- a/llvm/tools/llvm-go/llvm-go.go
+++ b/llvm/tools/llvm-go/llvm-go.go
@@ -96,7 +96,11 @@ func llvmFlags() compilerFlags {
// needed to resolve dependent symbols
stdLibOption = "-stdlib=libc++"
}
- if runtime.GOOS != "darwin" {
+ if runtime.GOOS == "aix" {
+ // AIX linker does not honour `-rpath`, the closest substitution
+ // is `-blibpath`
+ ldflags = "-Wl,-blibpath:" + llvmConfig("--libdir") + " " + ldflags
+ } else if runtime.GOOS != "darwin" {
// OS X doesn't like -rpath with cgo. See:
// https://github.com/golang/go/issues/7293
ldflags = "-Wl,-rpath," + llvmConfig("--libdir") + " " + ldflags
More information about the llvm-commits
mailing list