/* * make a refer to the string sval, * emitting DATA if needed. */ void datagostring(Strlit *sval, Addr *a) { Sym *sym; sym = stringsym(sval->s, sval->len); a->type = D_EXTERN; a->sym = linksym(sym); a->node = sym->def; a->offset = 0; // header a->etype = TINT32; }
/* * make a refer to the data s, s+len * emitting DATA if needed. */ void datastring(char *s, int len, Addr *a) { Sym *sym; sym = stringsym(s, len); a->type = D_EXTERN; a->sym = linksym(sym); a->node = sym->def; a->offset = widthptr+widthint; // skip header a->etype = simtype[TINT]; }
/* * make a refer to the data s, s+len * emitting DATA if needed. */ void datastring(char *s, int len, Addr *a) { Sym *sym; sym = stringsym(s, len); a->type = D_OREG; a->name = D_EXTERN; a->etype = TINT32; a->offset = widthptr+4; // skip header a->reg = NREG; a->sym = sym; }
/* * make a refer to the string sval, * emitting DATA if needed. */ void datagostring(Strlit *sval, Addr *a) { Sym *sym; sym = stringsym(sval->s, sval->len); a->type = D_OREG; a->name = D_EXTERN; a->etype = TINT32; a->offset = 0; // header a->reg = NREG; a->sym = sym; }
/* * make a refer to the string sval, * emitting DATA if needed. */ void datagostring(Strlit *sval, Addr *a) { Sym *sym; sym = stringsym(sval->s, sval->len); a->type = D_OREG; a->name = D_EXTERN; a->etype = TSTRING; a->offset = 0; // header a->reg = NREG; a->sym = linksym(sym); a->node = sym->def; }