/* The few libc symbols ESP-IDF's LL code reaches for, supplied so the reference can link into a * freestanding image. * * There is exactly one so far, and it is reached by design rather than by accident: * `_uart_ll_set_baudrate` (uart_ll.h:532-535) calls `abort()` when handed an LP_UART instance, * because that path needs `lp_uart_ll_set_baudrate` instead. The differential harness only ever * passes HP UART instances, so this is unreachable in practice - but the linker does not know that, * and a missing `abort` fails the build with a symbol name that explains nothing about why. * * Spinning rather than resetting is deliberate: if a reference implementation ever does call this, * the board stops with its last console line intact, which is the difference between a diagnosable * failure and a reboot loop. */ __attribute__((noreturn)) void abort(void) { for (;;) { } }