about summary refs log tree commit diff
path: root/src/tools/compiletest
diff options
context:
space:
mode:
authorPietro Albini <pietro.albini@ferrous-systems.com>2023-06-09 11:32:49 +0200
committerPietro Albini <pietro.albini@ferrous-systems.com>2023-06-20 17:20:54 +0200
commit04f658f3d3d7b5bc0b563fbc2d7d3f578cc3ea2b (patch)
treefaf2220c8a3b94b9d6040b3ea514fbc195edf4b9 /src/tools/compiletest
parenta56c829e747a6ee2e1a1d8d20472f3a5a4d95c79 (diff)
downloadrust-04f658f3d3d7b5bc0b563fbc2d7d3f578cc3ea2b.tar.gz
rust-04f658f3d3d7b5bc0b563fbc2d7d3f578cc3ea2b.zip
avoid dynamic linking on targets that do not support dynamic linking
Diffstat (limited to 'src/tools/compiletest')
-rw-r--r--src/tools/compiletest/src/common.rs2
-rw-r--r--src/tools/compiletest/src/runtest.rs2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
index 40cf42995b7..85a8fbcffbe 100644
--- a/src/tools/compiletest/src/common.rs
+++ b/src/tools/compiletest/src/common.rs
@@ -542,6 +542,8 @@ pub struct TargetCfg {
     endian: Endian,
     #[serde(rename = "panic-strategy", default)]
     pub(crate) panic: PanicStrategy,
+    #[serde(default)]
+    pub(crate) dynamic_linking: bool,
 }
 
 impl TargetCfg {
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index 25b16e38e53..5c8ee7895d3 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -1810,8 +1810,8 @@ impl<'test> TestCx<'test> {
             || self.config.target.contains("wasm32")
             || self.config.target.contains("nvptx")
             || self.is_vxworks_pure_static()
-            || self.config.target.contains("sgx")
             || self.config.target.contains("bpf")
+            || !self.config.target_cfg().dynamic_linking
         {
             // We primarily compile all auxiliary libraries as dynamic libraries
             // to avoid code size bloat and large binaries as much as possible