c3ae910529
On Xtensa, backtrace can not recover the two most significant bits of the address, as the window call size is encoded in these bits. Because of this, __builtin_return_address modifies these MSBs to match those of the callee, "fixing" the address. An unfortunate side effect is that the zero return address, which usually terminates the backtrace, gets converted to 0x40000000. While there is a valid instruction at this address, its occurrence in the backtrace is highly unlikely: this is the first instruction of WindowOverflow4 vector, and IDF apps switch VECBASE to an IRAM location very early at startup. |
||
---|---|---|
.. | ||
include | ||
test | ||
test_multi_heap_host | ||
CMakeLists.txt | ||
component.mk | ||
heap_caps.c | ||
heap_caps_init.c | ||
heap_private.h | ||
heap_task_info.c | ||
heap_trace_standalone.c | ||
Kconfig | ||
linker.lf | ||
multi_heap.c | ||
multi_heap_config.h | ||
multi_heap_internal.h | ||
multi_heap_platform.h | ||
multi_heap_poisoning.c |