summaryrefslogtreecommitdiff
path: root/src/cmd/8l/l.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/8l/l.h')
-rw-r--r--src/cmd/8l/l.h23
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;