diff options
| author | kyeongwoon <kyeongwoon.lee@samsung.com> | 2012-11-30 09:21:49 +0900 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-01-13 16:43:39 -0800 |
| commit | 987f824f233faee4aed39dac92a1b442d42965cc (patch) | |
| tree | 2cf1b078738e9bf580b9ee43f674d95c403751fa /src/rt/arch/arm/gpr.cpp | |
| parent | 27e6a0fa5651dbda55773488c8b706adfa5cefc2 (diff) | |
Support ARM and Android
Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs
Diffstat (limited to 'src/rt/arch/arm/gpr.cpp')
| -rw-r--r-- | src/rt/arch/arm/gpr.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/rt/arch/arm/gpr.cpp b/src/rt/arch/arm/gpr.cpp new file mode 100644 index 00000000000..32a68d0732a --- /dev/null +++ b/src/rt/arch/arm/gpr.cpp @@ -0,0 +1,15 @@ +#include "gpr.h" + +#define LOAD(rn) do { \ + uintptr_t tmp; \ + asm("mov %%" #rn ",%0" : "=r" (tmp) :); \ + this->rn = tmp; \ +} while (0) + +void rust_gpr::load() { + LOAD(r0); LOAD(r1); LOAD(r2); LOAD(r3); + LOAD(r4); LOAD(r5); LOAD(r6); LOAD(r7); + LOAD(r8); LOAD(r9); LOAD(r10); LOAD(r11); + LOAD(r12); LOAD(r13); LOAD(r14); LOAD(r15); +} + |
