execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic

This commit is contained in:
Gregory Nutt
2014-09-15 10:15:47 -06:00
parent da7a440b35
commit 398f7b594f
3 changed files with 6 additions and 310 deletions
+6 -2
View File
@@ -206,9 +206,13 @@ int exec_module(FAR const struct binary_s *binp)
goto errout_with_addrenv;
}
/* We can free the argument buffer now */
/* We can free the argument buffer now.
* REVISIT: It is good to free up memory as soon as possible, but
* unfortunately here 'binp' is 'const'. So to do this properly, we will
* have to make some more extensive changes.
*/
binfmt_freeargv(binp);
binfmt_freeargv((FAR struct binary_s *)binp);
/* Note that tcb->flags are not modified. 0=normal task */
/* tcb->flags |= TCB_FLAG_TTYPE_TASK; */