diff options
Diffstat (limited to 'src/cmd/8l/l.h')
-rw-r--r-- | src/cmd/8l/l.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/cmd/8l/l.h b/src/cmd/8l/l.h index b974f464b..f88f058e3 100644 --- a/src/cmd/8l/l.h +++ b/src/cmd/8l/l.h @@ -40,7 +40,9 @@ enum { thechar = '8', - PtrSize = 4 + PtrSize = 4, + IntSize = 4, + FuncAlign = 16 }; #define P ((Prog*)0) @@ -135,16 +137,22 @@ struct Sym int32 plt; int32 got; int32 align; // if non-zero, required alignment in bytes + int32 elfsym; + int32 locals; // size of stack frame locals area + int32 args; // size of stack frame incoming arguments area Sym* hash; // in hash table Sym* allsym; // in all symbol list Sym* next; // in text or data list Sym* sub; // in sub list Sym* outer; // container of sub Sym* gotype; + Sym* reachparent; + Sym* queue; char* file; char* dynimpname; char* dynimplib; char* dynimpvers; + struct Section* sect; // STEXT Auto* autom; @@ -157,6 +165,7 @@ struct Sym Reloc* r; int32 nr; int32 maxr; + int rel_ro; }; struct Optab { @@ -201,6 +210,8 @@ enum Ycr0, Ycr1, Ycr2, Ycr3, Ycr4, Ycr5, Ycr6, Ycr7, Ydr0, Ydr1, Ydr2, Ydr3, Ydr4, Ydr5, Ydr6, Ydr7, Ytr0, Ytr1, Ytr2, Ytr3, Ytr4, Ytr5, Ytr6, Ytr7, + Ymr, Ymm, + Yxr, Yxm, Ymax, Zxxx = 0, @@ -222,10 +233,14 @@ enum Zloop, Zm_o, Zm_r, + Zm_r_xm, + Zm_r_i_xm, Zaut_r, Zo_m, Zpseudo, Zr_m, + Zr_m_xm, + Zr_m_i_xm, Zrp_, Z_ib, Z_il, @@ -243,6 +258,8 @@ enum Pm = 0x0f, /* 2byte opcode escape */ Pq = 0xff, /* both escape */ Pb = 0xfe, /* byte operands */ + Pf2 = 0xf2, /* xmm escape 1 */ + Pf3 = 0xf3, /* xmm escape 2 */ }; #pragma varargck type "A" int @@ -261,6 +278,7 @@ EXTERN int32 INITRND; EXTERN int32 INITTEXT; EXTERN int32 INITDAT; EXTERN char* INITENTRY; /* entry point */ +EXTERN char* LIBINITENTRY; /* shared library entry point */ EXTERN int32 casepc; EXTERN char* pcstr; EXTERN Auto* curauto; @@ -269,7 +287,7 @@ EXTERN Prog* curp; EXTERN Sym* cursym; EXTERN Sym* datap; EXTERN int32 elfdatsize; -EXTERN char debug[128]; +EXTERN int debug[128]; EXTERN char literal[32]; EXTERN Sym* etextp; EXTERN Prog* firstp; @@ -282,7 +300,6 @@ EXTERN int maxop; EXTERN int nerrors; EXTERN char* noname; EXTERN int32 pc; -EXTERN char* interpreter; EXTERN char* rpath; EXTERN int32 spsize; EXTERN Sym* symlist; |