summaryrefslogtreecommitdiff
path: root/6/asm.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2014-12-25 13:46:56 -0800
committerOri Bernstein <ori@eigenstate.org>2014-12-25 13:46:56 -0800
commit3bbb5e43836cd3ea0df46d6adea3dbedd678785f (patch)
tree1ebe95408dc361a5fe5b0e7e95acac4d4f468800 /6/asm.h
parent079536dfac30da7db118b8184ec04f0afdd4d461 (diff)
downloadmc-3bbb5e43836cd3ea0df46d6adea3dbedd678785f.tar.gz
Fix a few more bad asm issues on plan9.
Mostly to do with insn naming and symbol visibility.
Diffstat (limited to '6/asm.h')
-rw-r--r--6/asm.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/6/asm.h b/6/asm.h
index 8eb7fc2..7506db0 100644
--- a/6/asm.h
+++ b/6/asm.h
@@ -198,10 +198,11 @@ extern Node *abortoob;
/* options */
extern int extracheck;
+extern Asmsyntax asmsyntax;
void simpglobl(Node *dcl, Htab *globls, Func ***fn, size_t *nfn, Node ***blob, size_t *nblob);
void selfunc(Isel *is, Func *fn, Htab *globls, Htab *strtab);
-void gen(Asmsyntax syn, Node *file, char *out);
+void gen(Node *file, char *out);
void gengas(Node *file, char *out);
void genp9(Node *file, char *out);
@@ -209,7 +210,8 @@ void genp9(Node *file, char *out);
extern size_t maxregid;
extern Loc **locmap; /* mapping from reg id => Loc * */
-char *genlblstr(char *buf, size_t sz);
+char *gendatalbl(char *buf, size_t sz);
+char *genjmplbl(char *buf, size_t sz);
Node *genlbl(Srcloc loc);
Loc *loclbl(Node *lbl);
Loc *locstrlbl(char *lbl);
@@ -221,7 +223,7 @@ Loc *locmems(long disp, Loc *base, Loc *idx, int scale, Mode mode);
Loc *locmemls(char *disp, Loc *base, Loc *idx, int scale, Mode mode);
Loc *loclit(long val, Mode m);
Loc *loclitl(char *lbl);
-char *asmname(Node *n);
+char *asmname(Node *dcl);
Loc *coreg(Reg r, Mode m);
int isfloatmode(Mode m);
int isintmode(Mode m);