aboutsummaryrefslogtreecommitdiff
path: root/src/boot/llvm
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-25 15:43:55 -0700
committerGraydon Hoare <[email protected]>2010-06-25 15:43:55 -0700
commit67d1f0a9aafaa7dcd63b86032127ab660e630c46 (patch)
treec563f52cefc275b0e9d4fd56fdb74d224cd70df7 /src/boot/llvm
parentReturn at end of GC glue. (diff)
downloadrust-67d1f0a9aafaa7dcd63b86032127ab660e630c46.tar.xz
rust-67d1f0a9aafaa7dcd63b86032127ab660e630c46.zip
Emit gc glue and rearrange crate glue offsets slightly to have a regular order.
Diffstat (limited to 'src/boot/llvm')
-rw-r--r--src/boot/llvm/llabi.ml5
-rw-r--r--src/boot/llvm/llfinal.ml5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/boot/llvm/llabi.ml b/src/boot/llvm/llabi.ml
index fd5d9277..6a2c6a05 100644
--- a/src/boot/llvm/llabi.ml
+++ b/src/boot/llvm/llabi.ml
@@ -23,9 +23,10 @@ let declare_abi (llctx:Llvm.llcontext) (llmod:Llvm.llmodule) : abi =
i32; (* ptrdiff_t debug_info_off *)
i32; (* size_t debug_info_sz *)
i32; (* size_t activate_glue_off *)
- i32; (* size_t main_exit_task_glue_off *)
- i32; (* size_t unwind_glue_off *)
i32; (* size_t yield_glue_off *)
+ i32; (* size_t unwind_glue_off *)
+ i32; (* size_t gc_glue_off *)
+ i32; (* size_t main_exit_task_glue_off *)
i32; (* int n_rust_syms *)
i32; (* int n_c_syms *)
i32 (* int n_libs *)
diff --git a/src/boot/llvm/llfinal.ml b/src/boot/llvm/llfinal.ml
index 64ea3d37..fd65fa6b 100644
--- a/src/boot/llvm/llfinal.ml
+++ b/src/boot/llvm/llfinal.ml
@@ -53,9 +53,10 @@ let finalize_module
Llvm.const_int i32 0; (* ptrdiff_t debug_info_off *)
Llvm.const_int i32 0; (* size_t debug_info_sz *)
activate_glue_off; (* size_t activate_glue_off *)
- exit_task_glue_off; (* size_t main_exit_task_glue_off *)
- Llvm.const_int i32 0; (* size_t unwind_glue_off *)
yield_glue_off; (* size_t yield_glue_off *)
+ Llvm.const_int i32 0; (* size_t unwind_glue_off *)
+ Llvm.const_int i32 0; (* size_t gc_glue_off *)
+ exit_task_glue_off; (* size_t main_exit_task_glue_off *)
Llvm.const_int i32 rust_fn_count; (* int n_rust_syms *)
Llvm.const_int i32 c_fn_count; (* int n_c_syms *)
Llvm.const_int i32 0 (* int n_libs *)