diff options
Diffstat (limited to 'src/cmd/8l')
-rw-r--r-- | src/cmd/8l/8.out.h | 6 | ||||
-rw-r--r-- | src/cmd/8l/l.h | 4 | ||||
-rw-r--r-- | src/cmd/8l/obj.c | 3 | ||||
-rw-r--r-- | src/cmd/8l/optab.c | 5 |
4 files changed, 12 insertions, 6 deletions
diff --git a/src/cmd/8l/8.out.h b/src/cmd/8l/8.out.h index f961a5bc7..fecb0852c 100644 --- a/src/cmd/8l/8.out.h +++ b/src/cmd/8l/8.out.h @@ -578,8 +578,12 @@ enum as APSHUFB, AUSEFIELD, - ALOCALS, ATYPE, + AFUNCDATA, + APCDATA, + + // TODO: Remove these. + ALOCALS, ANPTRS, APTRS, diff --git a/src/cmd/8l/l.h b/src/cmd/8l/l.h index e67c6bcbd..2cf8c76b1 100644 --- a/src/cmd/8l/l.h +++ b/src/cmd/8l/l.h @@ -159,6 +159,7 @@ struct Sym char* dynimplib; char* dynimpvers; struct Section* sect; + struct Hist* hist; // for ATEXT // STEXT Auto* autom; @@ -187,7 +188,7 @@ enum STRINGSZ = 200, MINLC = 1, MAXIO = 8192, - MAXHIST = 20, /* limit of path elements for history symbols */ + MAXHIST = 40, /* limit of path elements for history symbols */ Yxxx = 0, Ynone, @@ -313,7 +314,6 @@ EXTERN Sym* symlist; EXTERN int32 symsize; EXTERN Sym* textp; EXTERN int32 textsize; -EXTERN int version; EXTERN Prog zprg; EXTERN int dtype; EXTERN int tlsoffset; diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c index 1cc0444c4..55c0e2e1b 100644 --- a/src/cmd/8l/obj.c +++ b/src/cmd/8l/obj.c @@ -316,6 +316,7 @@ main(int argc, char *argv[]) span(); addexport(); textaddress(); + functab(); pclntab(); symtab(); dodata(); @@ -552,6 +553,7 @@ loop: addhist(p->line, D_FILE); /* 'z' */ if(p->to.offset) addhist(p->to.offset, D_FILE1); /* 'Z' */ + savehist(p->line, p->to.offset); histfrogp = 0; goto loop; @@ -695,6 +697,7 @@ loop: diag("%s: redefinition: %s\n%P", pn, s->name, p); } s->type = STEXT; + s->hist = gethist(); s->value = pc; s->args = p->to.offset2; s->nptrs = -1; diff --git a/src/cmd/8l/optab.c b/src/cmd/8l/optab.c index c024c19b3..c08e1524a 100644 --- a/src/cmd/8l/optab.c +++ b/src/cmd/8l/optab.c @@ -1001,10 +1001,9 @@ Optab optab[] = { APSHUFB, ymshufb,Pq, 0x38, 0x00 }, { AUSEFIELD, ynop, Px, 0,0 }, - { ALOCALS }, { ATYPE }, - { ANPTRS }, - { APTRS }, + { AFUNCDATA, ynop, Px, 0,0 }, + { APCDATA, ynop, Px, 0,0 }, 0 }; |