diff options
-rw-r--r-- | subx/020syscalls.cc | 1 | ||||
-rwxr-xr-x | subx/test_apps | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/subx/020syscalls.cc b/subx/020syscalls.cc index 5fdc40f6..c94785bd 100644 --- a/subx/020syscalls.cc +++ b/subx/020syscalls.cc @@ -82,6 +82,7 @@ void process_int80() { // Ignore most arguments for now: address hint, protection flags, sharing flags, fd, offset. // We only support anonymous maps. Reg[EAX].u = new_segment(/*length*/read_mem_u32(Reg[EBX].u+0x4)); + trace(91, "run") << "result: " << Reg[EAX].u << end(); break; default: raise << HEXWORD << EIP << ": unimplemented syscall " << Reg[EAX].u << '\n' << end(); diff --git a/subx/test_apps b/subx/test_apps index 9be51ab1..988e81ae 100755 --- a/subx/test_apps +++ b/subx/test_apps @@ -121,6 +121,14 @@ test `uname` = 'Linux' && { grep -vq 'F' ex11.out # no test failures } +echo ex12 +CFLAGS=-g ./subx translate examples/ex12.subx -o examples/ex12 +test `uname -m` = 'i686' && git diff --quiet examples/ex12 +CFLAGS=-g ./subx run examples/ex12 # final byte of mmap'd address is well-nigh guaranteed to be 0 +test `uname` = 'Linux' && { + examples/ex12 # final byte of mmap'd address is well-nigh guaranteed to be 0 +} + echo factorial CFLAGS=-g ./subx translate *.subx apps/factorial.subx -o apps/factorial test `uname -m` = 'i686' && git diff --quiet apps/factorial |