shared linkage logic for func/data

This commit is contained in:
Quentin Carbonneaux 2022-01-31 22:03:18 +01:00
parent 20ee522ce8
commit 2ca6fb25a2
6 changed files with 143 additions and 92 deletions

View file

@ -446,14 +446,10 @@ arm64_emitfn(Fn *fn, FILE *out)
Ins *i;
E *e;
gasemitlnk(fn->name, &fn->lnk, ".text", out);
e = &(E){.f = out, .fn = fn};
framelayout(e);
fprintf(e->f, ".text\n");
if (e->fn->export)
fprintf(e->f, ".globl %s\n", e->fn->name);
fprintf(e->f, "%s:\n", e->fn->name);
if (e->fn->vararg) {
for (n=7; n>=0; n--)
fprintf(e->f, "\tstr\tq%d, [sp, -16]!\n", n);