diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-04-26 09:55:32 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-04-26 09:55:32 +0200 |
commit | 7b15ed9ef455b6b66c6b376898a88aef5d6a9970 (patch) | |
tree | 3ef530baa80cdf29436ba981f5783be6b4d2202b /src/cmd/8l/asm.c | |
parent | 50104cc32a498f7517a51c8dc93106c51c7a54b4 (diff) | |
download | golang-7b15ed9ef455b6b66c6b376898a88aef5d6a9970.tar.gz |
Imported Upstream version 2011.04.13upstream/2011.04.13
Diffstat (limited to 'src/cmd/8l/asm.c')
-rw-r--r-- | src/cmd/8l/asm.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c index 1e760d89e..b9bd0dae9 100644 --- a/src/cmd/8l/asm.c +++ b/src/cmd/8l/asm.c @@ -307,6 +307,7 @@ elfsetupplt(void) int archreloc(Reloc *r, Sym *s, vlong *val) { + USED(s); switch(r->type) { case D_CONST: *val = r->add; @@ -644,7 +645,7 @@ asmb(void) { int32 v, magic; int a, dynsym; - uint32 va, fo, w, symo, startva, machlink; + uint32 symo, startva, machlink; ElfEhdr *eh; ElfPhdr *ph, *pph; ElfShdr *sh; @@ -776,7 +777,6 @@ asmb(void) lputb(0L); lputb(~0L); /* gp value ?? */ break; - lputl(0); /* x */ case Hunixcoff: /* unix coff */ /* * file header @@ -892,13 +892,10 @@ asmb(void) debug['d'] = 1; eh = getElfEhdr(); - fo = HEADR; startva = INITTEXT - HEADR; - va = startva + fo; - w = segtext.filelen; /* This null SHdr must appear before all others */ - sh = newElfShdr(elfstr[ElfStrEmpty]); + newElfShdr(elfstr[ElfStrEmpty]); /* program header info */ pph = newElfPhdr(); @@ -1158,6 +1155,8 @@ genasmsym(void (*put)(Sym*, char*, int, vlong, vlong, int, Sym*)) for(h=0; h<NHASH; h++) { for(s=hash[h]; s!=S; s=s->hash) { + if(s->hide) + continue; switch(s->type&~SSUB) { case SCONST: case SRODATA: @@ -1165,6 +1164,9 @@ genasmsym(void (*put)(Sym*, char*, int, vlong, vlong, int, Sym*)) case SELFDATA: case SMACHO: case SMACHOGOT: + case STYPE: + case SSTRING: + case SGOSTRING: case SWINDOWS: if(!s->reachable) continue; @@ -1209,6 +1211,6 @@ genasmsym(void (*put)(Sym*, char*, int, vlong, vlong, int, Sym*)) put(nil, a->asym->name, 'p', a->aoffset, 0, 0, a->gotype); } if(debug['v'] || debug['n']) - Bprint(&bso, "symsize = %ud\n", symsize); + Bprint(&bso, "symsize = %uld\n", symsize); Bflush(&bso); } |