aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-10-22 17:24:05 -0700
committerGraydon Hoare <[email protected]>2010-10-22 17:24:05 -0700
commitcb254f35589c11d27fb95fbbe64b4272ef3954b8 (patch)
tree67d1d933589eae44ac86d36208a5d2704423a19d /src
parentAttempt to extinguish burning tree. (diff)
parentrustc: Add an "_" prefix to assembler-generated symbols on Mac (diff)
downloadrust-cb254f35589c11d27fb95fbbe64b4272ef3954b8.tar.xz
rust-cb254f35589c11d27fb95fbbe64b4272ef3954b8.zip
Merge branch 'master' of github.com:graydon/rust
Diffstat (limited to 'src')
-rw-r--r--src/comp/back/x86.rs5
-rw-r--r--src/lib/linux_os.rs3
-rw-r--r--src/lib/macos_os.rs4
-rw-r--r--src/lib/win32_os.rs4
4 files changed, 16 insertions, 0 deletions
diff --git a/src/comp/back/x86.rs b/src/comp/back/x86.rs
index d4b76352..86631e93 100644
--- a/src/comp/back/x86.rs
+++ b/src/comp/back/x86.rs
@@ -2,6 +2,7 @@ import lib.llvm.llvm;
import lib.llvm.llvm.ModuleRef;
import std._str;
import std._vec;
+import std.os.target_os;
import util.common.istr;
const int wordsz = 4;
@@ -128,7 +129,11 @@ fn decl_upcall_glue(int align, str prefix, uint n) -> str {
fn get_module_asm() -> str {
auto align = 4;
+
auto prefix = "";
+ if (target_os() == "macos") {
+ prefix = "_";
+ }
auto glues =
vec(decl_glue(align, prefix,
diff --git a/src/lib/linux_os.rs b/src/lib/linux_os.rs
index ce2c0f79..d5ef2a6b 100644
--- a/src/lib/linux_os.rs
+++ b/src/lib/linux_os.rs
@@ -47,6 +47,9 @@ fn exec_suffix() -> str {
ret "";
}
+fn target_os() -> str {
+ ret "linux";
+}
// Local Variables:
// mode: rust;
diff --git a/src/lib/macos_os.rs b/src/lib/macos_os.rs
index 1d96a233..53a66b56 100644
--- a/src/lib/macos_os.rs
+++ b/src/lib/macos_os.rs
@@ -47,6 +47,10 @@ fn exec_suffix() -> str {
ret "";
}
+fn target_os() -> str {
+ ret "macos";
+}
+
// Local Variables:
// mode: rust;
// fill-column: 78;
diff --git a/src/lib/win32_os.rs b/src/lib/win32_os.rs
index 6e1b9a9c..9f9ec2c2 100644
--- a/src/lib/win32_os.rs
+++ b/src/lib/win32_os.rs
@@ -38,6 +38,10 @@ fn exec_suffix() -> str {
ret ".exe";
}
+fn target_os() -> str {
+ ret "win32";
+}
+
// Local Variables:
// mode: rust;
// fill-column: 78;