On Mon, Apr 24, 2023 at 6:26 AM Waldek Kozaczuk <[email protected]>
wrote:

> Hi,
>
> Over the recent week, I have been working to get OSv to run a simple
> "hello world" app (aka native-example) built as a position-dependent
> statically linked executable.
>

Nice!


>
>    1. Support the arch_prctl syscall that sets the app TLS
>       - this was by far the most complicated element that required
>       changing OSv to store new per-pcpu data pointer in GS register and
>       enhancing both syscall handler and interrupt/page fault handler to 
> detect
>       and switch if needed the FS base to the kernel TLS on entry and back to 
> the
>       app one on exit (see
>       
> https://github.com/cloudius-systems/osv/issues/1137#issuecomment-1512315880
>       )
>
>
If this has noticeable overhead, perhaps it makes sense to make it optional?


>
>    1. Fixing a potential bug in handling TCGETS in the console driver.
>
> I'm curious what this bug was - I am personally fond of this area of this
code, as you can see from the history
lesson in drivers/line-discipline.cc :-)


>
>    1. Implement sys_prlimit
>    2. Enable the readlink, geteuid and getegid
>
> I think we already had those - or did you mean the system call?


> This was enough to run a single-threaded app but we will need to implement
> the clone syscall to support multi-threaded apps.
>

Very nice. You can probably start by implementing the "simple" case of
clone() used by a simple multi-threaded application and
leave the other cases with UNIMPLEMENTED (or "ignore" various parameters
and leave them to be perfected later, with WARN_ONCE)

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/CANEVyjs1vV__S%3DLKkX-vL91x0D62Q7VjiyPho3K%3DomqtvoCpcA%40mail.gmail.com.

Reply via email to