mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 06:48:31 +00:00
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:
parent
5b908bc756
commit
eb40cb371d
934 changed files with 2259 additions and 1268 deletions
|
@ -16,10 +16,10 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "tool/build/lib/asmdown.h"
|
||||
#include "libc/mem/alg.h"
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/str/str.h"
|
||||
#include "tool/build/lib/asmdown.h"
|
||||
#include "tool/build/lib/javadown.h"
|
||||
|
||||
static bool IsSymbolChar1(char c) {
|
||||
|
@ -76,6 +76,8 @@ struct Asmdown *ParseAsmdown(const char *code, size_t size) {
|
|||
state = SYM;
|
||||
} else if (code[i] == '\n') {
|
||||
++line;
|
||||
} else if (i + 10 < size && !memcmp(code + i, "\t.ftrace1\t", 10)) {
|
||||
++line;
|
||||
} else if (i + 8 < size && !memcmp(code + i, "\t.alias\t", 8)) {
|
||||
p1 = code + i + 8;
|
||||
if ((p2 = strchr(p1, ',')) && (p3 = strchr(p2, '\n'))) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue