mirror of
https://github.com/golang/go
synced 2024-11-25 02:07:58 -07:00
fix gotest by fixing nm -s to print in file order by storing a sequence number
as the .6 file is read. now tests will be run in file order. R=rsc DELTA=9 (6 added, 1 deleted, 2 changed) OCL=27542 CL=27544
This commit is contained in:
parent
55faa5f10e
commit
57bff962d9
@ -85,6 +85,7 @@ struct Sym
|
||||
char type;
|
||||
char *name;
|
||||
char *gotype;
|
||||
int sequence; // order in file
|
||||
};
|
||||
/*
|
||||
* End of Plan 9 a.out.h
|
||||
|
@ -185,11 +185,13 @@ cmp(void *vs, void *vt)
|
||||
|
||||
s = vs;
|
||||
t = vt;
|
||||
if(nflag)
|
||||
if(nflag) // sort on address (numeric) order
|
||||
if((*s)->value < (*t)->value)
|
||||
return -1;
|
||||
else
|
||||
return (*s)->value > (*t)->value;
|
||||
if(sflag) // sort on file order (sequence)
|
||||
return (*s)->sequence - (*t)->sequence;
|
||||
return strcmp((*s)->name, (*t)->name);
|
||||
}
|
||||
/*
|
||||
@ -298,8 +300,7 @@ printsyms(Sym **symptr, long nsym)
|
||||
char *cp;
|
||||
char path[512];
|
||||
|
||||
if(!sflag)
|
||||
qsort(symptr, nsym, sizeof(*symptr), (void*)cmp);
|
||||
qsort(symptr, nsym, sizeof(*symptr), (void*)cmp);
|
||||
|
||||
wid = 0;
|
||||
for (i=0; i<nsym; i++) {
|
||||
|
@ -108,6 +108,8 @@ static void objreset(void);
|
||||
static void objlookup(int, char *, int, uint);
|
||||
static void objupdate(int, int);
|
||||
|
||||
static int sequence;
|
||||
|
||||
int
|
||||
objtype(Biobuf *bp, char **name)
|
||||
{
|
||||
@ -295,6 +297,7 @@ objlookup(int id, char *name, int type, uint sig)
|
||||
sp->s.type = type;
|
||||
sp->s.sig = sig;
|
||||
sp->s.value = islocal(type) ? MAXOFF : 0;
|
||||
sp->s.sequence = sequence++;
|
||||
names[id] = &sp->s;
|
||||
sp->next = hash[h];
|
||||
hash[h] = sp;
|
||||
|
Loading…
Reference in New Issue
Block a user