[libc] Display assertion failure message before incrementing counter

During early initialisation on some platforms, the .data and .bss
sections may not yet be writable.

Display the assertion message before attempting to increment the
assertion failure counter, since writing to the assertion counter may
trigger a CPU exception that ends up resetting the system.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-05-09 12:03:29 +01:00
parent 8fe3c68b31
commit 1d58d928fe

View File

@@ -49,9 +49,9 @@ assert_printf ( const char *fmt, ... ) asm ( "printf" );
#define assert( condition ) \
do { \
if ( ASSERTING && ! (condition) ) { \
assertion_failures++; \
assert_printf ( "assert(%s) failed at %s line %d\n", \
#condition, __FILE__, __LINE__ ); \
assertion_failures++; \
} \
} while ( 0 )