From 9f4e2dffec82cf81a9a2114a27c1f391116b55f2 Mon Sep 17 00:00:00 2001 From: angelsl Date: Tue, 27 Oct 2015 18:24:03 +0800 Subject: [PATCH 1/2] Rust: fix clear_cache ARM ASM --- lib/builtins/clear_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/builtins/clear_cache.c b/lib/builtins/clear_cache.c index ede7659a05..863eb818fc 100644 --- a/lib/builtins/clear_cache.c +++ b/lib/builtins/clear_cache.c @@ -104,7 +104,7 @@ void __clear_cache(void *start, void *end) { const register int flags __asm("r2") = 0; const register int syscall_nr __asm("r7") = __ARM_NR_cacheflush; __asm __volatile("svc 0x0" : "=r"(start_reg) - : "r"(syscall_nr), "r"(start_reg), "r"(end_reg), "r"(flags) : "r0"); + : "r"(syscall_nr), "r"(start_reg), "r"(end_reg), "r"(flags)); if (start_reg != 0) { compilerrt_abort(); } From 15d54081cf5f6dc6136d1bfe498071843d45f4fe Mon Sep 17 00:00:00 2001 From: angelsl Date: Tue, 27 Oct 2015 18:24:34 +0800 Subject: [PATCH 2/2] Rust: cleanup macros leaked from pthread.h on Android --- lib/builtins/emutls.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/builtins/emutls.c b/lib/builtins/emutls.c index 09e79568bd..d4678e9ebc 100644 --- a/lib/builtins/emutls.c +++ b/lib/builtins/emutls.c @@ -8,6 +8,15 @@ * ===----------------------------------------------------------------------=== */ #include + +// Rust-specific change +// One of the headers included by pthread.h in Android #defines si_int to +// something else. Remove this definition, as we use si_int internally to +// mean int. +#ifdef si_int +#undef si_int +#endif + #include #include #include