git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: refine symbolic link support.
[lunaix-os.git]
/
lunaix-os
/
kernel
/
loader
/
exec.c
diff --git
a/lunaix-os/kernel/loader/exec.c
b/lunaix-os/kernel/loader/exec.c
index 331cacca5283df528a73b79b2e1d0dca65275061..6a18ffca11d91bdbeec592bd7b84689266473f11 100644
(file)
--- a/
lunaix-os/kernel/loader/exec.c
+++ b/
lunaix-os/kernel/loader/exec.c
@@
-26,11
+26,11
@@
exec_str_size(const char** str_arr, size_t* length)
sz += strlen(chr);
len++;
sz += strlen(chr);
len++;
- chr = *(str_arr
+ sz
);
+ chr = *(str_arr
++
);
}
*length = len;
}
*length = len;
- return sz +
1
;
+ return sz +
sizeof(char*)
;
}
void
}
void
@@
-116,7
+116,7
@@
exec_load(struct ld_param* param,
memcpy(arg_start + sz_argv, (void*)envp, sz_envp);
ptr_t* ustack = (ptr_t*)USTACK_TOP;
memcpy(arg_start + sz_argv, (void*)envp, sz_envp);
ptr_t* ustack = (ptr_t*)USTACK_TOP;
- struct usr_exec_param* exec_param = mapped;
+ struct usr_exec_param* exec_param =
(struct usr_exec_param*)
mapped;
ustack[-1] = (ptr_t)mapped;
param->info.stack_top = &ustack[-1];
ustack[-1] = (ptr_t)mapped;
param->info.stack_top = &ustack[-1];
@@
-128,6
+128,8
@@
exec_load(struct ld_param* param,
.info = param->info };
} else {
// TODO need to find a way to inject argv and envp remotely
.info = param->info };
} else {
// TODO need to find a way to inject argv and envp remotely
+ // this is for the support of kernel level implementation of
+ // posix_spawn
fail("not implemented");
}
fail("not implemented");
}