commit 929ba9b98f7ded89476ad6bce547e15981bc723b from: rsc date: Tue Apr 20 00:54:58 2004 UTC fix various bugs for sunos commit - 20b33daf595da71a2287c01a4d6bc7078348d086 commit + 929ba9b98f7ded89476ad6bce547e15981bc723b blob - 0d15804bb7a43e2e558ca2d367f3d07e2d150a82 blob + b89e1fba2aea6612e2e12cd7419f077301560242 --- src/libmach/crackelf.c +++ src/libmach/crackelf.c @@ -68,7 +68,7 @@ crackelf(int fd, Fhdr *fp) if(elfmap(elf, s1) >= 0 && elfmap(elf, s2) >= 0){ fp->stabs.stabbase = s1->base; fp->stabs.stabsize = s1->size; - fp->stabs.strbase = s2->base; + fp->stabs.strbase = (char*)s2->base; fp->stabs.strsize = s2->size; fp->stabs.e2 = elf->hdr.e2; fp->stabs.e4 = elf->hdr.e4; blob - bfc0fd6211f63588c50e90023411333625019afd blob + c19d81e92344fc844a8943e57e91fa4691870473 --- src/libmach/crackmacho.c +++ src/libmach/crackmacho.c @@ -117,7 +117,7 @@ crackmacho(int fd, Fhdr *fp) if(i < m->ncmd){ fp->stabs.stabbase = load(fp->fd, m->cmd[i].sym.symoff, m->cmd[i].sym.nsyms*16); fp->stabs.stabsize = m->cmd[i].sym.nsyms*16; - fp->stabs.strbase = load(fp->fd, m->cmd[i].sym.stroff, m->cmd[i].sym.strsize); + fp->stabs.strbase = (char*)load(fp->fd, m->cmd[i].sym.stroff, m->cmd[i].sym.strsize); if(fp->stabs.stabbase == nil || fp->stabs.strbase == nil){ fp->stabs.stabbase = nil; fp->stabs.strbase = nil; blob - 79065bba7e80b7f52504e4c4076d58aa59e471f9 blob + 82b27a336d93b6133107e49bf7bf26927e20069a --- src/libmach/dwarfinfo.c +++ src/libmach/dwarfinfo.c @@ -544,7 +544,7 @@ getstring(DwarfBuf *b, int form, char **s) /* don't return error - maybe can proceed */ *s = nil; }else - *s = b->d->str.data + u; + *s = (char*)b->d->str.data + u; return 0; } blob - 165b3aa017727d1befc65f9e01f1ec49fc9d86d9 blob + 4c8a8a9accaa9f1c9d36e69be0d91f4c262b61f2 --- src/libmach/dwarfpc.c +++ src/libmach/dwarfpc.c @@ -109,12 +109,12 @@ dwarfpctoline(Dwarf *d, ulong pc, char **cdir, char ** } /* just skip the files and dirs for now; we'll come back */ - dirs = b.p; + dirs = (char*)b.p; while(b.p!=nil && *b.p!=0) dwarfgetstring(&b); dwarfget1(&b); - files = b.p; + files = (char*)b.p; while(b.p!=nil && *b.p!=0){ dwarfgetstring(&b); dwarfget128(&b); @@ -278,7 +278,7 @@ dwarfpctoline(Dwarf *d, ulong pc, char **cdir, char ** *line = emit.line; /* skip over first emit.file-2 guys */ - b.p = files; + b.p = (uchar*)files; for(i=emit.file-1; i > 0 && b.p!=nil && *b.p!=0; i--){ dwarfgetstring(&b); dwarfget128(&b); @@ -315,7 +315,7 @@ dwarfpctoline(Dwarf *d, ulong pc, char **cdir, char ** if(i == 0) *dir = nil; else{ - b.p = dirs; + b.p = (uchar*)dirs; for(i--; i>0 && b.p!=nil && *b.p!=0; i--) dwarfgetstring(&b); if(b.p==nil || *b.p==0){ blob - 6a387fd3bb2d2444782d108e96567e48a8f7aef3 blob + 2e5e290f88306a166e83be6cf4f68bc9bdce8ad1 --- src/libmach/elf.c +++ src/libmach/elf.c @@ -195,7 +195,7 @@ elfinit(int fd) for(i=0; insect; i++) if(e->sect[i].name) - e->sect[i].name = s->base + (ulong)e->sect[i].name; + e->sect[i].name = (char*)s->base + (ulong)e->sect[i].name; e->symtab = elfsection(e, ".symtab"); if(e->symtab){ @@ -375,7 +375,7 @@ elfsym(Elf *elf, int i, ElfSym *sym) if(elfmap(elf, symtab) < 0 || elfmap(elf, strtab) < 0) return -1; p = symtab->base + i * sizeof(ElfSymBytes); - s = strtab->base; + s = (char*)strtab->base; x = elf->hdr.e4(p); if(x >= strtab->size){ werrstr("bad symbol name offset 0x%lux", x); blob - 0d756d212086412fa509a6a8250fe20ee3e23d06 blob + 27bc3ab116ed449fa45e8e5ef7dec5c4d9ef3467 --- src/libmach/ieee.c +++ src/libmach/ieee.c @@ -18,9 +18,9 @@ ieeeftoa64(char *buf, uint n, u32int h, u32int l) return 0; - if(h & (1L<<31)){ + if(h & (1UL<<31)){ *buf++ = '-'; - h &= ~(1L<<31); + h &= ~(1UL<<31); }else *buf++ = ' '; n--; @@ -55,9 +55,9 @@ ieeeftoa32(char *buf, uint n, u32int h) if (n <= 0) return 0; - if(h & (1L<<31)){ + if(h & (1UL<<31)){ *buf++ = '-'; - h &= ~(1L<<31); + h &= ~(1UL<<31); }else *buf++ = ' '; n--;