diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-30 19:11:16 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-30 19:11:16 +0200 |
commit | 4f33c88a51587681b7be1ae57cfbc43b627c6bc4 (patch) | |
tree | 25560404dc80007e5dc268811242c9071f6a1017 /sys/src/libmach/sym.c | |
parent | fcc5e75d07e5bc6cb3ddac6d9a437e7ec62d0d95 (diff) |
import updated compilers from sources
Diffstat (limited to 'sys/src/libmach/sym.c')
-rw-r--r-- | sys/src/libmach/sym.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/src/libmach/sym.c b/sys/src/libmach/sym.c index c80793d94..ab647e621 100644 --- a/sys/src/libmach/sym.c +++ b/sys/src/libmach/sym.c @@ -102,15 +102,17 @@ syminit(int fd, Fhdr *fp) Bseek(&b, fp->symoff, 0); nsym = 0; size = 0; + if((fp->_magic && (fp->magic & HDR_MAGIC)) || mach->szaddr == 8) + svalsz = 8; + else + svalsz = 4; for(p = symbols; size < fp->symsz; p++, nsym++) { - if(fp->_magic && (fp->magic & HDR_MAGIC)){ - svalsz = 8; + if(svalsz == 8){ if(Bread(&b, &vl, 8) != 8) return symerrmsg(8, "symbol"); p->value = beswav(vl); } else{ - svalsz = 4; if(Bread(&b, &l, 4) != 4) return symerrmsg(4, "symbol"); p->value = (u32int)beswal(l); |