[ARM] builtins: Replace abort by assert in clear_cache.

Summary:
__builtion___clear_cache maps to clear_cache function. On Linux,
clear_cache functions makes a syscall and does an abort if syscall fails.
Replace the abort by an assert so that non-debug builds do not abort
if the syscall fails.

Fixes PR34588.

Reviewers: rengolin, compnerd, srhines, peter.smith, joerg

Reviewed By: rengolin

Subscribers: aemerson, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D37788

llvm-svn: 314322
This commit is contained in:
Manoj Gupta 2017-09-27 17:36:25 +00:00
parent 1e053ab09a
commit a2eacb3bfc
1 changed files with 2 additions and 3 deletions

View File

@ -9,6 +9,7 @@
*/
#include "int_lib.h"
#include <assert.h>
#include <stddef.h>
#if __APPLE__
@ -121,9 +122,7 @@ void __clear_cache(void *start, void *end) {
: "=r"(start_reg)
: "r"(syscall_nr), "r"(start_reg), "r"(end_reg),
"r"(flags));
if (start_reg != 0) {
compilerrt_abort();
}
assert(start_reg == 0 && "Cache flush syscall failed.");
#elif defined(_WIN32)
FlushInstructionCache(GetCurrentProcess(), start, end - start);
#else