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

@ -154,7 +154,7 @@ textstartup void cosmo(long *sp, struct Syslib *m1) {
environ = envp;
if (argc) program_invocation_name = argv[0];
// run initialization callbacks
// initialize program
_init();
__enable_tls();
#ifdef SYSDEBUG
@ -163,6 +163,9 @@ textstartup void cosmo(long *sp, struct Syslib *m1) {
for (fp = __init_array_end; fp-- > __init_array_start;) {
(*fp)(argc, argv, envp, auxv);
}
#ifdef FTRACE
argc = ftrace_init();
#endif
// run program
if (!IsTiny()) __wipe(0);