diff options
| author | Jyun-Yan You <jyyou.tw@gmail.com> | 2013-05-05 22:29:10 +0800 |
|---|---|---|
| committer | Jyun-Yan You <jyyou@cs.nctu.edu.tw> | 2013-05-07 13:17:14 +0800 |
| commit | 48b6262b383365b7319ef76fa9c6d2c63c4d70e1 (patch) | |
| tree | 09d2a9979e48f290fb4f0cd5edb1242797b76a91 /src/rt | |
| parent | 063851ffa1b8388a0b70446c0209af16264e8181 (diff) | |
preliminary Linux ARM support
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/arch/arm/record_sp.S | 8 | ||||
| -rw-r--r-- | src/rt/rust_task.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/rt/arch/arm/record_sp.S b/src/rt/arch/arm/record_sp.S index 95fce8746a1..8d5f24bc5a8 100644 --- a/src/rt/arch/arm/record_sp.S +++ b/src/rt/arch/arm/record_sp.S @@ -15,13 +15,21 @@ record_sp_limit: mrc p15, #0, r3, c13, c0, #3 +#if __ANDROID__ add r3, r3, #252 +#elif __linux__ + add r3, r3, #4 +#endif str r0, [r3] mov pc, lr get_sp_limit: mrc p15, #0, r3, c13, c0, #3 +#if __ANDROID__ add r3, r3, #252 +#elif __linux__ + add r3, r3, #4 +#endif ldr r0, [r3] mov pc, lr diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h index fd4e8451b64..6813e3b46c4 100644 --- a/src/rt/rust_task.h +++ b/src/rt/rust_task.h @@ -146,6 +146,9 @@ #ifdef __mips__ #define RED_ZONE_SIZE RZ_LINUX_32 #endif +#ifdef __arm__ +#define RED_ZONE_SIZE RZ_LINUX_32 +#endif #endif #ifdef __APPLE__ #ifdef __i386__ |
