diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2022-08-29 18:45:52 +0200 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-08-31 21:42:49 +0200 |
commit | 8dddb971d923fa19dced39013e6d4a39676e065a (patch) | |
tree | 88192ecf3a60de73f06d03dab51dc51f17fb4ab7 /all.h | |
parent | 5490268683c82ad07eac6d2e8296a45702a8381e (diff) | |
download | roux-8dddb971d923fa19dced39013e6d4a39676e065a.tar.gz |
drop -G flag and add target amd64_apple
apple support is more than assembly syntax in case of arm64 machines, and apple syntax is currently useless in all cases but amd64; rather than having a -G option that only makes sense with amd64, we add a new target amd64_apple
Diffstat (limited to 'all.h')
-rw-r--r-- | all.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/all.h b/all.h index c8ec93c..1ecea8e 100644 --- a/all.h +++ b/all.h @@ -55,6 +55,9 @@ struct Target { void (*abi)(Fn *); void (*isel)(Fn *); void (*emitfn)(Fn *, FILE *); + void (*emitfin)(FILE *); + char asloc[4]; + char assym[4]; }; #define BIT(n) ((bits)1 << (n)) @@ -524,16 +527,10 @@ void spill(Fn *); /* rega.c */ void rega(Fn *); -/* gas.c */ -enum Asm { - Gasmacho, - Gaself, -}; -extern char *gasloc; -extern char *gassym; -void gasinit(enum Asm); -void gasemitlnk(char *, Lnk *, char *, FILE *); -void gasemitfntail(char *, FILE *); -void gasemitdat(Dat *, FILE *); -int gasstash(void *, int); -void gasemitfin(FILE *); +/* emit.c */ +void emitlnk(char *, Lnk *, char *, FILE *); +void emitdat(Dat *, FILE *); +int stashbits(void *, int); +void elf_emitfnfin(char *, FILE *); +void elf_emitfin(FILE *); +void macho_emitfin(FILE *); |