[AIX][pg] Add Correct Search Paths for Profiled Libraries

On AIX, profiled system libraries are stored at `/lib/profiled` and
`/usr/lib/profiled`. When compiling with `-pg`, we want to link against
libraries in those directories. This PR modifies the AIX toolchain to
add those directories to the linker search paths.

Differential Review: https://reviews.llvm.org/D137375
This commit is contained in:
Michael Francis 2022-11-10 21:50:53 +00:00 committed by Chris Bowler
parent c59822cd1a
commit 0fae851824
2 changed files with 11 additions and 0 deletions

View File

@ -250,6 +250,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-lm");
CmdArgs.push_back("-lc");
if (Args.hasArg(options::OPT_pg)) {
CmdArgs.push_back(Args.MakeArgString((llvm::Twine("-L") + D.SysRoot) +
"/lib/profiled"));
CmdArgs.push_back(Args.MakeArgString((llvm::Twine("-L") + D.SysRoot) +
"/usr/lib/profiled"));
}
}
const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());

View File

@ -189,6 +189,8 @@
// CHECK-LD32-GPROF-NOT: "--no-as-needed"
// CHECK-LD32-GPROF-NOT: "-lm"
// CHECK-LD32-GPROF: "-lc"
// CHECK-LD32-GPROF: "-L[[SYSROOT]]/lib/profiled"
// CHECK-LD32-GPROF: "-L[[SYSROOT]]/usr/lib/profiled"
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. Enable g-profiling.
// RUN: %clang %s -### 2>&1 \
@ -216,6 +218,8 @@
// CHECK-LD64-GPROF-NOT: "--no-as-needed"
// CHECK-LD64-GPROF-NOT: "-lm"
// CHECK-LD64-GPROF: "-lc"
// CHECK-LD64-GPROF: "-L[[SYSROOT]]/lib/profiled"
// CHECK-LD64-GPROF: "-L[[SYSROOT]]/usr/lib/profiled"
// Check powerpc-ibm-aix7.1.0.0, 32-bit. Static linking.
// RUN: %clang %s -### 2>&1 \