Introduce libc independent assert fail handler
Introduce assert_fail_handler function definition as a libc independent
interface for handling assert failures.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I80207b0158e44e697c8a0b8366c56dfbdc9b7c37
diff --git a/external/newlib/newlib_sp_assert.c b/external/newlib/newlib_sp_assert.c
index 5a2d428..f386bb4 100644
--- a/external/newlib/newlib_sp_assert.c
+++ b/external/newlib/newlib_sp_assert.c
@@ -1,21 +1,21 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
*/
-#include <assert.h>
+#include "assert_fail_handler.h"
#include "compiler.h"
-#include "trace.h"
+#include <assert.h>
/*
- * The generic trace function called on assert fail.
+ * This function implements newlib's assert fail handler function by calling the
+ * generic assert fail handler function that should be implemented by the
+ * environment.
*/
-void __noreturn __assert_func(const char *file, int line, const char *func, const char *failedexpr)
+void __noreturn __assert_func(const char *file, int line, const char *func,
+ const char *failedexpr)
{
-#if TRACE_LEVEL >= TRACE_LEVEL_ERROR
- trace_printf(func, line, TRACE_LEVEL_ERROR, "assertion %s failed", failedexpr);
-#endif /* TRACE_LEVEL */
-
+ assert_fail_handler(file, line, func, failedexpr);
while (1)
;
}