diff options
Diffstat (limited to 'src/cmd/6l/l.h')
| -rw-r--r-- | src/cmd/6l/l.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/cmd/6l/l.h b/src/cmd/6l/l.h index ffb8a4552..1d6e55c97 100644 --- a/src/cmd/6l/l.h +++ b/src/cmd/6l/l.h @@ -42,6 +42,7 @@ enum thechar = '6', PtrSize = 8, IntSize = 8, + MaxAlign = 32, // max data alignment // Loop alignment constants: // want to align loop entry to LoopAlign-byte boundary, @@ -100,9 +101,12 @@ struct Reloc { int32 off; uchar siz; + uchar done; int32 type; int64 add; + int64 xadd; Sym* sym; + Sym* xsym; }; struct Prog @@ -140,11 +144,12 @@ struct Auto struct Sym { char* name; + char* extname; // name used in external object files short type; short version; uchar dupok; uchar reachable; - uchar dynexport; + uchar cgoexport; uchar special; uchar stkcheck; uchar hide; @@ -167,7 +172,6 @@ struct Sym vlong size; Sym* gotype; char* file; - char* dynimpname; char* dynimplib; char* dynimpvers; struct Section* sect; @@ -263,6 +267,7 @@ enum Zo_iw, Zm_o, Zm_r, + Zm2_r, Zm_r_xm, Zm_r_i_xm, Zm_r_3d, @@ -292,10 +297,11 @@ enum P32 = 0x32, /* 32-bit only */ Pe = 0x66, /* operand escape */ Pm = 0x0f, /* 2byte opcode escape */ - Pq = 0xff, /* both escape */ + Pq = 0xff, /* both escapes: 66 0f */ Pb = 0xfe, /* byte operands */ - Pf2 = 0xf2, /* xmm escape 1 */ - Pf3 = 0xf3, /* xmm escape 2 */ + Pf2 = 0xf2, /* xmm escape 1: f2 0f */ + Pf3 = 0xf3, /* xmm escape 2: f3 0f */ + Pq3 = 0x67, /* xmm escape 3: 66 48 0f */ Pw = 0x48, /* Rex.w */ Py = 0x80, /* defaults to 64-bit mode */ |
