builtins: adjust the clobbers list for android __clear_cache
authorSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 25 Feb 2016 04:04:37 +0000 (04:04 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 25 Feb 2016 04:04:37 +0000 (04:04 +0000)
Adjust the clobbers list.  This use to work with older versions of gcc, but now
will error on newer versions (tested against 5.3) (as well as clang).

Patch by Tee Hao Wei!

llvm-svn: 261821

compiler-rt/lib/builtins/clear_cache.c

index ede7659..80bebd0 100644 (file)
@@ -103,8 +103,9 @@ void __clear_cache(void *start, void *end) {
          const register int end_reg __asm("r1") = (int) (intptr_t) 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");
+         __asm __volatile("svc 0x0"
+                          : "=r"(start_reg)
+                          : "r"(syscall_nr), "r"(start_reg), "r"(end_reg));
          if (start_reg != 0) {
              compilerrt_abort();
          }