fix various bugs for sunos
This commit is contained in:
parent
20b33daf59
commit
929ba9b98f
6 changed files with 13 additions and 13 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,12 +109,12 @@ dwarfpctoline(Dwarf *d, ulong pc, char **cdir, char **dir, char **file, ulong *l
|
|||
}
|
||||
|
||||
/* 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 **dir, char **file, ulong *l
|
|||
*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 **dir, char **file, ulong *l
|
|||
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){
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ elfinit(int fd)
|
|||
|
||||
for(i=0; i<e->nsect; 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);
|
||||
|
|
|
|||
|
|
@ -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--;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue