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(); } 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