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

@ -8,6 +8,7 @@
*/
#endif
#include "libc/calls/struct/timespec.h"
#include "libc/log/log.h"
#include "libc/stdio/stdio.h"
#include "libc/time/time.h"
@ -16,6 +17,7 @@
*/
int main(int argc, char *argv[]) {
ShowCrashReports();
unsigned long i;
volatile unsigned long x;
struct timespec now, start, next, interval;

View file

@ -103,7 +103,7 @@ o/$(MODE)/examples/examples.pkg: \
$(foreach x,$(EXAMPLES_DIRECTDEPS),$($(x)_A).pkg)
o/$(MODE)/examples/unbourne.o: private \
OVERRIDE_CPPFLAGS += \
CPPFLAGS += \
-DSTACK_FRAME_UNLIMITED \
-fpie
@ -169,7 +169,7 @@ o/$(MODE)/examples/symtab.com: \
@$(MAKE_SYMTAB_ZIP)
o/$(MODE)/examples/picol.o: private \
OVERRIDE_CPPFLAGS += \
CPPFLAGS += \
-DSTACK_FRAME_UNLIMITED
o/$(MODE)/examples/picol.com.dbg: \