diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-10-01 22:48:50 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-10-01 22:48:50 -0700 |
commit | 29ab43973a2e9822d84b564e314b4af5c58c4684 (patch) | |
tree | 8af49d966c5a1aa05da1e9d2c631085198e91c0d /subx | |
parent | 839dc88dc0439ae3f32c8c0f7650f32b09f311cc (diff) | |
download | mu-29ab43973a2e9822d84b564e314b4af5c58c4684.tar.gz |
4648
Diffstat (limited to 'subx')
-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 |