blob: 659661bee911b9476b581c8c82e20b698e9b3c75 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/* 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 (;;) {
}
}
|