X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=doc%2Fuserprog.texi;h=5bd0bb2b0d5681a14ceeeca5e49d9ff2b1ef724c;hp=0872f798bd170d4319bdaf9a434b5cf156970c45;hb=cd904d16ef888b5001c4509580240c06056b6262;hpb=bbbad85235aaccd0d295e012133bca03918be6e5 diff --git a/doc/userprog.texi b/doc/userprog.texi index 0872f79..5bd0bb2 100644 --- a/doc/userprog.texi +++ b/doc/userprog.texi @@ -1090,10 +1090,11 @@ pointers. Then, push the address of each string plus a null pointer sentinel, on the stack, in right-to-left order. These are the elements of -@code{argv}. The order ensures that @code{argv[0]} is at the lowest -virtual address. Word-aligned accesses are faster than unaligned -accesses, so for best performance round the stack pointer down to a -multiple of 4 before the first push. +@code{argv}. The null pointer sentinel ensures that @code{argv[argc]} +is a null pointer, as required by the C standard. The order ensures +that @code{argv[0]} is at the lowest virtual address. Word-aligned +accesses are faster than unaligned accesses, so for best performance +round the stack pointer down to a multiple of 4 before the first push. Then, push @code{argv} (the address of @code{argv[0]}) and @code{argc}, in that order. Finally, push a fake ``return address'': although the