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

@ -58,15 +58,15 @@ $(LIBC_LOG_A).pkg: \
o/$(MODE)/libc/log/backtrace2.o \
o/$(MODE)/libc/log/backtrace3.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-fno-sanitize=all
o/$(MODE)/libc/log/checkfail.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-mgeneral-regs-only
o/$(MODE)/libc/log/watch.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-ffreestanding
o/$(MODE)/libc/log/watch.o \
@ -82,7 +82,7 @@ o/$(MODE)/libc/log/startfatal.o \
o/$(MODE)/libc/log/startfatal_ndebug.o \
o/$(MODE)/libc/log/ubsan.o \
o/$(MODE)/libc/log/die.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
$(NO_MAGIC)
LIBC_LOG_LIBS = $(foreach x,$(LIBC_LOG_ARTIFACTS),$($(x)))