aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir/intrin.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-12-25 13:28:56 +0100
committerlemon <lsof@mailbox.org>2025-12-25 13:28:56 +0100
commita6c2f8a9177eeae64b83e4aeafe46dbe310b3861 (patch)
treed7d4ad2a189170a5ca56a9b46f3571fb12d72bb4 /ir/intrin.c
parent882ea80770120e4f94e98e46ef824cafc9ccfe1f (diff)
avoid GOT relocations in unnecessary instances
Also change xcon to have a flagset for symbols (whether it's a function, locally defined; later: thread local, etc).
Diffstat (limited to 'ir/intrin.c')
-rw-r--r--ir/intrin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ir/intrin.c b/ir/intrin.c
index d31f9bb..dcd05a5 100644
--- a/ir/intrin.c
+++ b/ir/intrin.c
@@ -24,7 +24,7 @@ intrin(struct block *blk, int *curi, enum intrin in, struct arg *args, int narg,
/* memcpy */
*args[1].ty = *args[0].ty = mktyperef(cls2type(KPTR));
insertinstr(blk, (*curi)++, mkarginstr(cls2type(cls), mkintcon(cls, td->siz)));
- *this = mkinstr(Ocall, 0, mksymref(intern("memcpy"), 1), this->r);
+ *this = mkinstr(Ocall, 0, mksymref(intern("memcpy"), SFUNC), this->r);
calltab.p[this->r.i].narg = 3;
calltab.p[this->r.i].ret = cls2type(0);
return 0;