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

@ -27,9 +27,10 @@
// @param %rsi is char[edi/16][16] output and %rsi==%rdx is OK
// @param %rdx is char[edi/16][8] input
// @return %rax is %rsi
.ftrace1
doublechrominance:
.ftrace2
.leafprologue
.profilable
shr $1,%edi # backwards algorithm
jbe 1f # do nothing if !n || n%2
mov %edi,%ecx

View file

@ -50,7 +50,7 @@ TOOL_VIZ_LIB_A_DEPS := \
$(call uniq,$(foreach x,$(TOOL_VIZ_LIB_A_DIRECTDEPS),$($(x))))
o/$(MODE)/tool/viz/lib/pmaddubsw.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-fvect-cost-model=unlimited
o/$(MODE)/tool/viz/lib/scale.o \
@ -69,12 +69,12 @@ o/$(MODE)/tool/viz/lib/getxtermcodes.o \
o/$(MODE)/tool/viz/lib/lingamma.o \
o/$(MODE)/tool/viz/lib/perlin3.o \
o/$(MODE)/tool/viz/lib/resizegraphic.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-DSTACK_FRAME_UNLIMITED \
$(MATHEMATICAL)
o/$(MODE)/tool/viz/lib/printmatrix.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
$(IEEE_MATH)
$(TOOL_VIZ_LIB_A): \

View file

@ -98,12 +98,12 @@ o/$(MODE)/tool/viz/printvideo.com: \
@$(MAKE_SYMTAB_ZIP)
o/$(MODE)/tool/viz/derasterize.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
-DSTACK_FRAME_UNLIMITED \
$(MATHEMATICAL)
o/$(MODE)/tool/viz/magikarp.o: private \
OVERRIDE_CFLAGS += \
CFLAGS += \
$(MATHEMATICAL)
$(TOOL_VIZ_OBJS): \