Update FAQ.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 16 Oct 2004 23:28:59 +0000 (23:28 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 16 Oct 2004 23:28:59 +0000 (23:28 +0000)
doc/userprog.texi

index 903d9c53311dcd856860b10a5749ffdbd234d3ab..3473e961ac1aeaa4b163e6a4808429305ead487e 100644 (file)
@@ -396,6 +396,14 @@ You may find the code for @func{thread_join} to be useful in
 implementing the join syscall, but besides that, you can use
 the original code provided for project 1.
 
 implementing the join syscall, but besides that, you can use
 the original code provided for project 1.
 
+@item
+@b{All my user programs die with page faults.}
+
+This will generally happen if you haven't implemented problem 2-1
+yet.  The reason is that the basic C library for user programs tries
+to read @var{argc} and @var{argv} off the stack.  Because the stack
+isn't properly set up yet, this causes a page fault.
+
 @item
 @b{Is there a way I can disassemble user programs?}
 
 @item
 @b{Is there a way I can disassemble user programs?}
 
@@ -417,7 +425,7 @@ is compiled as a unit.)  If you wish to port libraries to Pintos, feel
 free.
 
 @item
 free.
 
 @item
-@b{How do I compile new user programs? How do I make 'echo' compile?}
+@b{How do I compile new user programs?}
 
 You need to modify @file{tests/Makefile}.
 
 
 You need to modify @file{tests/Makefile}.