You will have to have the notion of "master interpreter" ELF. The kernel would just do something like:
if (is_ELF(path)) load_ELF(path); else call_master_interpreter_ELF(path, args...); I am not sure the security implications of it, and performance (loading two ELFs instead of one). On Tue, Dec 1, 2015 at 6:52 AM, barret rhoden <[email protected]> wrote: > On 2015-12-01 at 6:34 'Davide Libenzi' via Akaros wrote: > > Yes. In other OSs there is the notion of binary interpreters. > > In Linux for example, the script_fmt interpreter looks if the first > > byte is '#' and the second byte is '!', and then try to parse the > > interpreter from the first line, and call that by building the proper > > args to it. > > If that's something you need, then I'd be up for us having it. > > Would we need to put that in the kernel? Or is that something > userspace could do? I guess the user would need an open, read, close, > before calling sys_proc_create. The benefit is the kernel does less > internally, so it's less code in the TCB. > > Part of the reason I bring up userspace is that one long-range plan I > had was to get argument parsing completely out of the kernel, where the > parent sets up the user's stack, and the kernel doesn't need to do any > parsing. Maybe even get the kernel out of the elf processing business. > > Barret > > -- > You received this message because you are subscribed to the Google Groups > "Akaros" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
