提交 05d66b06 创建 作者: Robert Morris's avatar Robert Morris

my comment is wrong, exec handles BSS fine

上级 4587b358
...@@ -48,9 +48,6 @@ exec(char *path, char **argv) ...@@ -48,9 +48,6 @@ exec(char *path, char **argv)
} }
iunlockput(ip); iunlockput(ip);
// XXX rtm: what about the BSS? shouldn't there be some
// bzero()ing here?
// Allocate and initialize stack at sz // Allocate and initialize stack at sz
sz = spbottom = PGROUNDUP(sz); sz = spbottom = PGROUNDUP(sz);
if(!(sz = allocuvm(pgdir, sz, sz + PGSIZE))) if(!(sz = allocuvm(pgdir, sz, sz + PGSIZE)))
......
...@@ -1419,6 +1419,21 @@ validatetest(void) ...@@ -1419,6 +1419,21 @@ validatetest(void)
printf(stdout, "validate ok\n"); printf(stdout, "validate ok\n");
} }
char uninit[10000];
void
bsstest(void)
{
int i;
printf(stdout, "bss test\n");
for(i = 0; i < sizeof(uninit); i++){
if(uninit[i] != '\0'){
printf(stdout, "bss test failed\n");
exit();
}
}
printf(stdout, "bss test ok\n");
}
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
...@@ -1430,6 +1445,7 @@ main(int argc, char *argv[]) ...@@ -1430,6 +1445,7 @@ main(int argc, char *argv[])
} }
close(open("usertests.ran", O_CREATE)); close(open("usertests.ran", O_CREATE));
bsstest();
sbrktest(); sbrktest();
validatetest(); validatetest();
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论