diff options
| author | Patrick Walton <[email protected]> | 2011-05-05 12:45:34 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-05-05 12:46:22 -0700 |
| commit | a74feaf1594673bcec77ed45bd4b6766289a25b3 (patch) | |
| tree | 0e9ae545b866d22b99d6d22424fed528a76b6796 /src/rt | |
| parent | Put out burning tinderbox. (diff) | |
| download | rust-a74feaf1594673bcec77ed45bd4b6766289a25b3.tar.xz rust-a74feaf1594673bcec77ed45bd4b6766289a25b3.zip | |
rustc: Link with intrinsics.bc; change intrinsics linkage to linkonce_odr
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/intrinsics/intrinsics.cpp | 3 | ||||
| -rw-r--r-- | src/rt/intrinsics/intrinsics.ll.in | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/rt/intrinsics/intrinsics.cpp b/src/rt/intrinsics/intrinsics.cpp index 7c4b5450..b327c0f1 100644 --- a/src/rt/intrinsics/intrinsics.cpp +++ b/src/rt/intrinsics/intrinsics.cpp @@ -1,3 +1,6 @@ +// Use `clang++ -emit-llvm -S -arch i386 -O3 -I../isaac -I../uthash -o +// intrinsics.ll intrinsics.cpp` + #include "../rust_internal.h" extern "C" size_t diff --git a/src/rt/intrinsics/intrinsics.ll.in b/src/rt/intrinsics/intrinsics.ll.in index 2a05555e..ab78bab7 100644 --- a/src/rt/intrinsics/intrinsics.ll.in +++ b/src/rt/intrinsics/intrinsics.ll.in @@ -51,7 +51,7 @@ target triple = "@CFG_LLVM_TRIPLE@" %struct.stk_seg = type { i32, i32, [0 x i8] } %struct.type_desc = type { %struct.type_desc**, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.UT_hash_handle, i32, [0 x %struct.type_desc*] } -define i32 @rust_intrinsic_vec_len(%struct.rust_task* nocapture %task, %struct.type_desc* nocapture %ty, %struct.rust_vec* nocapture %v) nounwind readonly ssp { +define linkonce_odr i32 @rust_intrinsic_vec_len(%struct.rust_task* nocapture %task, %struct.type_desc* nocapture %ty, %struct.rust_vec* nocapture %v) nounwind readonly ssp { entry: %fill = getelementptr inbounds %struct.rust_vec* %v, i32 0, i32 2 %tmp1 = load i32* %fill, align 4, !tbaa !0 |