mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-26 05:49:56 +00:00
This patch simplifies the use of the clone system call for creating processes and threads. Until now, the binding used an opaque pointer argument to pass context information to the newly created process or thread. However, upon close inspection, this is not a strict requirement. A newly created thread accesses its contextual information by using its stack pointer as key. The pointer argument is not used. The creation of processes is strictly serialized because the intermediate stack used in-between clone and execve is a global variable. Since we rely on the serialization anyway, we can pass the context information of a new process via a global variable as well. This change simplifies the syscall binding for the upcoming AARCH64 support, which would otherwise require us to deal with the notion of TLS on Linux. Issue #4136
This repository contains the Linux-specific implementation of Genode.