summary refs log tree commit diff
path: root/all.h
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2022-08-29 18:45:52 +0200
committerQuentin Carbonneaux <quentin@c9x.me>2022-08-31 21:42:49 +0200
commit8dddb971d923fa19dced39013e6d4a39676e065a (patch)
tree88192ecf3a60de73f06d03dab51dc51f17fb4ab7 /all.h
parent5490268683c82ad07eac6d2e8296a45702a8381e (diff)
downloadroux-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.h23
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 *);