mcf comments

This commit is contained in:
Quentin Carbonneaux 2026-05-01 19:44:44 +02:00
parent 84516c7484
commit ac79f8fd02

View File

@ -544,7 +544,8 @@ emitins(Ins i, E *e)
regtoa(i.to.val, SLong)); regtoa(i.to.val, SLong));
break; break;
} }
if (!T.apple && con->sym.type == SThr) { switch (con->sym.type) {
case SThr:
/* derive the symbol address from the TCB /* derive the symbol address from the TCB
* address at offset 0 of %fs */ * address at offset 0 of %fs */
emitf("movq %%fs:0, %L=", &i, e); emitf("movq %%fs:0, %L=", &i, e);
@ -557,8 +558,7 @@ emitins(Ins i, E *e)
regtoa(i.to.val, SLong), regtoa(i.to.val, SLong),
regtoa(i.to.val, SLong)); regtoa(i.to.val, SLong));
break; break;
} case SExtThr:
if (!T.apple && con->sym.type == SExtThr) {
/* initial-exec TLS: load offset from /* initial-exec TLS: load offset from
* GOT, add to thread-base register */ * GOT, add to thread-base register */
assert(!con->bits.i); assert(!con->bits.i);
@ -568,8 +568,7 @@ emitins(Ins i, E *e)
sym[0] == '"' ? "" : T.assym, sym, sym[0] == '"' ? "" : T.assym, sym,
regtoa(i.to.val, SLong)); regtoa(i.to.val, SLong));
break; break;
} case SExt:
if (con->sym.type == SExt) {
/* load address from the GOT */ /* load address from the GOT */
assert(!con->bits.i); assert(!con->bits.i);
fprintf(e->f, fprintf(e->f,
@ -577,8 +576,10 @@ emitins(Ins i, E *e)
sym[0] == '"' ? "" : T.assym, sym, sym[0] == '"' ? "" : T.assym, sym,
regtoa(i.to.val, SLong)); regtoa(i.to.val, SLong));
break; break;
} default:
goto Table; goto Table;
}
break;
case Ocall: case Ocall:
/* calls simply have a weird syntax in AT&T /* calls simply have a weird syntax in AT&T
* assembly... */ * assembly... */