Fixes for Linux syscall emulation.

arch/alpha/alpha_linux_process.cc:
    Fixes for Linux emulation:
    - stat struct alignment
    - osf_{get,set}sysinfo return values
    - additional syscall numbers
    - initialize $r0 to 0
sim/syscall_emul.cc:
    brk(0) just returns brk value (don't update it!)

--HG--
extra : convert_revision : 78e22458321c81e81540d101c9e65e2e4b0ad117
This commit is contained in:
Steve Reinhardt
2004-02-10 21:43:57 -08:00
parent f1aca5e6c5
commit d38f995aee
2 changed files with 40 additions and 5 deletions

View File

@@ -104,7 +104,9 @@ int
obreakFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc)
{
// change brk addr to first arg
p->brk_point = xc->getSyscallArg(0);
Addr new_brk = xc->getSyscallArg(0);
if (new_brk != 0)
p->brk_point = xc->getSyscallArg(0);
return p->brk_point;
}