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

@ -55,14 +55,14 @@ $(LIBC_FMT_A).pkg: \
$(foreach x,$(LIBC_FMT_A_DIRECTDEPS),$($(x)_A).pkg)
$(LIBC_FMT_A_OBJS): private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-fno-jump-tables
o/$(MODE)/libc/fmt/formatint64.o \
o/$(MODE)/libc/fmt/formatint64thousands.o \
o/$(MODE)/libc/fmt/dosdatetimetounix.o \
o/$(MODE)/libc/fmt/itoa64radix10.greg.o: private\
OVERRIDE_CFLAGS += \
CFLAGS += \
-O3
o/$(MODE)/libc/fmt/atoi.o \
@ -74,7 +74,7 @@ o/$(MODE)/libc/fmt/strtoimax.o \
o/$(MODE)/libc/fmt/strtoumax.o \
o/$(MODE)/libc/fmt/wcstoimax.o \
o/$(MODE)/libc/fmt/wcstoumax.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-Os
# we can't use compiler magic because:
@ -82,7 +82,7 @@ o/$(MODE)/libc/fmt/wcstoumax.o: private \
o/$(MODE)/libc/fmt/strerrno.greg.o \
o/$(MODE)/libc/fmt/strerrdoc.greg.o \
o/$(MODE)/libc/fmt/strerror_wr.greg.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-fpie \
-ffreestanding \
$(NO_MAGIC)