https://github.com/mikaoP updated https://github.com/llvm/llvm-project/pull/95763
>From 9710628fb49e941bc43b1a4fb11a9d03470b8d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Pe=C3=B1acoba=20Veigas?= <rpena...@bsc.es> Date: Mon, 17 Jun 2024 10:34:10 +0000 Subject: [PATCH] [Clang] Forward -rpath flag in the correct format in CPU offloading --- clang/test/Driver/Inputs/linker-wrapper/.keep | 0 clang/test/Driver/linker-wrapper.c | 1 + clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp | 3 +++ 3 files changed, 4 insertions(+) create mode 100644 clang/test/Driver/Inputs/linker-wrapper/.keep diff --git a/clang/test/Driver/Inputs/linker-wrapper/.keep b/clang/test/Driver/Inputs/linker-wrapper/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/linker-wrapper.c b/clang/test/Driver/linker-wrapper.c index 0d05f913aad63..9ed43343bf8d7 100644 --- a/clang/test/Driver/linker-wrapper.c +++ b/clang/test/Driver/linker-wrapper.c @@ -57,6 +57,7 @@ __attribute__((visibility("protected"), used)) int x; // RUN: llvm-ar rcs %t.a %t.o // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run \ // RUN: --linker-path=/usr/bin/ld.lld --whole-archive %t.a --no-whole-archive \ +// RUN: -rpath %S/Inputs/linker-wrapper // RUN: %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=CPU-LINK // CPU-LINK: clang{{.*}} -o {{.*}}.img --target=x86_64-unknown-linux-gnu -march=native -O2 -Wl,--no-undefined {{.*}}.o {{.*}}.o -Wl,-Bsymbolic -shared -Wl,--whole-archive {{.*}}.a -Wl,--no-whole-archive diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index 07a8d53c04b16..6705a4635b4cd 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -500,6 +500,9 @@ Expected<StringRef> clang(ArrayRef<StringRef> InputFiles, const ArgList &Args) { LinkerArgs.push_back(Args.MakeArgString("-Wl,--whole-archive")); else if (Arg->getOption().matches(OPT_no_whole_archive)) LinkerArgs.push_back(Args.MakeArgString("-Wl,--no-whole-archive")); + else if (Arg->getOption().matches(OPT_rpath)) + LinkerArgs.push_back( + Args.MakeArgString("-Wl,-rpath," + Twine(Arg->getValue()))); else Arg->render(Args, LinkerArgs); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits