libucontext/arch/common
Sören Tempel d0b03541bf common-trampoline: Ensure omission of frame-pointer
Some architecture-specific implementations of the FETCH_LINKPTR
(e.g. the one for x86) attempt to find the linkptr relative to the
stack pointer. Therefore, they make assumption about the value of
the SP at the point where the FETCH_LINKPTR code is executed. This
means that we don't want the C compiler to mess with our SP.

For this purpose, local variables in this function are currently
declared using the register storage specifier. Additionally, we
need to make sure that a frame pointer is /always/ omitted for
this function. On x86 Alpine, the frame pointer is presently not
omitted with GCC 13 when using -Os, therefore the tests segfault
with -Os on Alpine presently.

Fixes #52
2024-08-07 17:46:50 -07:00
..
include/libucontext project: move freestanding include headers 2021-03-08 13:02:27 -08:00
common-defs.h build: remove -DLIBUCONTEXT_ASSEMBLY 2021-01-08 03:11:25 -07:00
common-trampoline.c common-trampoline: Ensure omission of frame-pointer 2024-08-07 17:46:50 -07:00