summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2022-03-14 10:58:55 +0100
committerQuentin Carbonneaux <quentin@c9x.me>2022-03-14 15:32:27 +0100
commit6ca9399ed6bec1a448aef79236670cd3daeb7daf (patch)
treea03e71383dee909f17d613589bec6082713aae23 /main.c
parent7a7a5f480312b997dcac0e4cc3befb502e54c836 (diff)
downloadroux-6ca9399ed6bec1a448aef79236670cd3daeb7daf.tar.gz
output symbol type and size
That is not available on osx
so I tweaked the gas.c api
a little to conditionally
output the two directives.
Diffstat (limited to 'main.c')
-rw-r--r--main.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/main.c b/main.c
index ee16a75..74d057d 100644
--- a/main.c
+++ b/main.c
@@ -19,11 +19,6 @@ static struct TMap {
 	{ 0, 0 }
 };
 
-enum Asm {
-	Gasmacho,
-	Gaself,
-};
-
 char debug['Z'+1] = {
 	['P'] = 0, /* parsing */
 	['M'] = 0, /* memory optimization */
@@ -101,6 +96,7 @@ func(Fn *fn)
 			fn->rpo[n]->link = fn->rpo[n+1];
 	if (!dbg) {
 		T.emitfn(fn, outf);
+		gasemitfntail(fn->name, outf);
 		fprintf(outf, "/* end function %s */\n\n", fn->name);
 	} else
 		fprintf(stderr, "\n");
@@ -174,16 +170,7 @@ main(int ac, char *av[])
 			exit(c != 'h');
 		}
 
-	switch (asmmode) {
-	case Gaself:
-		gasloc = ".L";
-		gassym = "";
-		break;
-	case Gasmacho:
-		gasloc = "L";
-		gassym = "_";
-		break;
-	}
+	gasinit(asmmode);
 
 	do {
 		f = av[optind];