On arm64 linux gcc uses -fasynchronous-unwind-tables -funwind-tables
by default since gcc-8, so now the de facto platform ABI is to allow
unwinding from async signal handlers.
However on bare metal targets (aarch64-none-elf), and on old gcc,
async and sync unwind tables are not enabled by default to avoid
runtime memory costs.
This means if linux is built with a baremetal toolchain the vdso.so
may not have unwind tables which breaks the gcc platform ABI guarantee
in userspace.
Add -fasynchronous-unwind-tables explicitly to the vgettimeofday.o
cflags to address the ABI change.
Fixes:
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| gen_vdso_offsets.sh | ||
| note.S | ||
| sigreturn.S | ||
| vdso.S | ||
| vdso.lds.S | ||
| vgettimeofday.c | ||