aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <[email protected]>2011-05-05 18:49:45 -0400
committerRafael Ávila de Espíndola <[email protected]>2011-05-05 19:00:42 -0400
commit4445d6771d68d17e14e491475c74492b7d2e1205 (patch)
treedf357181332603fe94e56f3e27b460cd01826d21
parentChange the setup so that rust_activate_glue returns to rust_exit_task_glue (diff)
downloadrust-4445d6771d68d17e14e491475c74492b7d2e1205.tar.xz
rust-4445d6771d68d17e14e491475c74492b7d2e1205.zip
Use symbolic register names so that we get the correct encoding on OS X.
-rw-r--r--src/comp/back/x86.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/comp/back/x86.rs b/src/comp/back/x86.rs
index a40592d5..f439d23e 100644
--- a/src/comp/back/x86.rs
+++ b/src/comp/back/x86.rs
@@ -31,7 +31,7 @@ fn save_callee_saves_with_cfi() -> vec[str] {
auto t;
t = vec("pushl %ebp");
t += vec(".cfi_def_cfa_offset " + istr(offset));
- t += vec(".cfi_offset 5, -" + istr(offset));
+ t += vec(".cfi_offset %ebp, -" + istr(offset));
t += vec("pushl %edi");
offset += 4;
@@ -251,7 +251,7 @@ fn native_glue(int n_args, abi.native_glue_type ngt) -> vec[str] {
+ save_callee_saves_with_cfi()
+ vec("movl %esp, %ebp # ebp = rust_sp")
- + vec(".cfi_def_cfa_register 5")
+ + vec(".cfi_def_cfa_register %ebp")
+ store_esp_to_rust_sp_second_arg()
+ load_esp_from_runtime_sp_second_arg()