aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amd64/isel.c6
-rw-r--r--arm64/isel.c2
-rw-r--r--rv64/isel.c2
3 files changed, 7 insertions, 3 deletions
diff --git a/amd64/isel.c b/amd64/isel.c
index ed0ba66..b94392e 100644
--- a/amd64/isel.c
+++ b/amd64/isel.c
@@ -88,7 +88,11 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
memset(&a, 0, sizeof a);
a.offset.type = CAddr;
n = stashbits(&fn->con[r0.val].bits, KWIDE(k) ? 8 : 4);
- sprintf(buf, "%sfp%d", T.asloc, n);
+ /* quote the name so that we do not
+ * add symbol prefixes on the apple
+ * target variant
+ */
+ sprintf(buf, "\"%sfp%d\"", T.asloc, n);
a.offset.sym.id = intern(buf);
fn->mem[fn->nmem-1] = a;
}
diff --git a/arm64/isel.c b/arm64/isel.c
index 870a121..062beb3 100644
--- a/arm64/isel.c
+++ b/arm64/isel.c
@@ -112,7 +112,7 @@ fixarg(Ref *pr, int k, int phi, Fn *fn)
n = stashbits(&c->bits, KWIDE(k) ? 8 : 4);
vgrow(&fn->con, ++fn->ncon);
c = &fn->con[fn->ncon-1];
- sprintf(buf, "%sfp%d", T.asloc, n);
+ sprintf(buf, "\"%sfp%d\"", T.asloc, n);
*c = (Con){.type = CAddr};
c->sym.id = intern(buf);
r2 = newtmp("isel", Kl, fn);
diff --git a/rv64/isel.c b/rv64/isel.c
index 1fcf60c..8921a07 100644
--- a/rv64/isel.c
+++ b/rv64/isel.c
@@ -44,7 +44,7 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
n = stashbits(&c->bits, KWIDE(k) ? 8 : 4);
vgrow(&fn->con, ++fn->ncon);
c = &fn->con[fn->ncon-1];
- sprintf(buf, "%sfp%d", T.asloc, n);
+ sprintf(buf, "\"%sfp%d\"", T.asloc, n);
*c = (Con){.type = CAddr};
c->sym.id = intern(buf);
emit(Oload, k, r1, CON(c-fn->con), R);