about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/base/linux.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_target/src/spec/base/linux.rs')
-rw-r--r--compiler/rustc_target/src/spec/base/linux.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/base/linux.rs b/compiler/rustc_target/src/spec/base/linux.rs
new file mode 100644
index 00000000000..df8e848124a
--- /dev/null
+++ b/compiler/rustc_target/src/spec/base/linux.rs
@@ -0,0 +1,21 @@
+use crate::spec::{cvs, RelroLevel, SplitDebuginfo, TargetOptions};
+use std::borrow::Cow;
+
+pub fn opts() -> TargetOptions {
+    TargetOptions {
+        os: "linux".into(),
+        dynamic_linking: true,
+        families: cvs!["unix"],
+        has_rpath: true,
+        position_independent_executables: true,
+        relro_level: RelroLevel::Full,
+        has_thread_local: true,
+        crt_static_respected: true,
+        supported_split_debuginfo: Cow::Borrowed(&[
+            SplitDebuginfo::Packed,
+            SplitDebuginfo::Unpacked,
+            SplitDebuginfo::Off,
+        ]),
+        ..Default::default()
+    }
+}