/* Invokes a system call with the stack pointer (%esp) set to a
bad address. The process must be terminated with -1 exit
- code. */
+ code.
+
+ For Project 3: The bad address lies approximately 64MB below
+ the code segment, so there is no ambiguity that this attempt
+ must be rejected even after stack growth is implemented.
+ Moreover, a good stack growth heuristics should probably not
+ grow the stack for the purpose of reading the system call
+ number and arguments. */
#include "tests/lib.h"
#include "tests/main.h"
void
test_main (void)
{
- asm volatile ("movl $0x20101234, %esp; int $0x30");
+ asm volatile ("movl . - (64*1024*1024), %esp; int $0x30");
fail ("should have called exit(-1)");
}