Get --ftrace working on aarch64

This change implements a new approach to function call logging, that's
based on the GCC flag: -fpatchable-function-entry. Read the commentary
in build/config.mk to learn how it works.
This commit is contained in:
Justine Tunney 2023-06-05 23:35:31 -07:00
parent 5b908bc756
commit eb40cb371d
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
934 changed files with 2259 additions and 1268 deletions

View file

@ -66,10 +66,11 @@ errfun() {
ERRNO="$2"
{
printf '#include "libc/macros.internal.h"\n.text.unlikely\n\n'
printf '\t.ftrace1\n'
printf '%s:\n' "$NAME"
printf '\t.ftrace2\n'
printf '#ifdef __x86_64__
.leafprologue
.profilable
mov %s(%%rip),%%ecx
jmp __errfun
#elif defined(__aarch64__)