-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[XRay] Remove reliance on default PIC behavior in DSO tests #113892
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-driver Author: Sebastian Kreutzer (sebastiankreutzer) ChangesCompiling with This patch addresses this issue in two tests:
Full diff: https://github.com/llvm/llvm-project/pull/113892.diff 2 Files Affected:
diff --git a/clang/test/Driver/XRay/xray-shared.cpp b/clang/test/Driver/XRay/xray-shared.cpp
index 215854e1fc7cef..e331fefed1e0c9 100644
--- a/clang/test/Driver/XRay/xray-shared.cpp
+++ b/clang/test/Driver/XRay/xray-shared.cpp
@@ -1,6 +1,5 @@
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fPIC -fxray-instrument -fxray-shared -c %s -o /dev/null 2>&1 | FileCheck %s
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fpic -fxray-instrument -fxray-shared -c %s -o /dev/null 2>&1 | FileCheck %s
-// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fxray-instrument -fxray-shared -c %s -o /dev/null 2>&1 | FileCheck %s
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -fno-PIC -fxray-instrument -fxray-shared -c %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR-PIC
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -fno-pic -fxray-instrument -fxray-shared -c %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR-PIC
diff --git a/compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp b/compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
index 92f3c29e970d42..0dd721571de9b8 100644
--- a/compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
+++ b/compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
@@ -1,6 +1,6 @@
// Test that the DSO-local runtime library has been linked if -fxray-shared is passed.
//
-// RUN: %clangxx -fxray-instrument -fxray-shared %s -shared -o %t.so
+// RUN: %clangxx -fxray-instrument -fxray-shared -fPIC %s -shared -o %t.so
// RUN: llvm-nm %t.so | FileCheck %s --check-prefix ENABLED
// RUN: %clangxx -fxray-instrument %s -shared -o %t.so
|
@rupprecht If this looks good to you, could you commit it? I don't have write access. |
) Compiling with `-fxray-shared` requires position-independent code (introduced in llvm#113548). Some tests do not explicitly specify this, thus falling back to the compiler default. If, for example, Clang is compiled with `-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, these checks fail. This patch addresses this issue in two tests: - Removing a check in `xray-shared.cpp` that only tests default PIC behavior - Adding `-fPIC` explicitly in `clang-xray-shared.cpp`
Compiling with
-fxray-shared
requires position-independent code (introduced in #113548).Some tests do not explicitly specify this, thus falling back to the compiler default.
If, for example, Clang is compiled with
-DCLANG_DEFAULT_PIE_ON_LINUX=OFF
, these checks fail.This patch addresses this issue in two tests:
xray-shared.cpp
that only tests default PIC behavior-fPIC
explicitly inclang-xray-shared.cpp