1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-19 11:31:06 +00:00
serenity/Kernel/Syscalls
Gunnar Beutner cf13fa57cd Kernel: Allow system calls from the dynamic loader
Previously the dynamic loader would become unused after it had invoked
the program's entry function. However, in order to support exceptions
and - at a later point - dlfcn functionality we need to call back
into the dynamic loader at runtime.

Because the dynamic loader has a static copy of LibC it'll attempt to
invoke syscalls directly from its text segment. For this to work the
executable region for the dynamic loader needs to have syscalls enabled.
2021-04-18 10:55:25 +02:00
..
abort.cpp Kernel: Don't disable interrupts while dealing with a process crash 2021-02-25 19:36:36 +01:00
access.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
alarm.cpp Kernel: Make TimeManagement use AK::Time internally 2021-03-02 08:36:08 +01:00
anon_create.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
beep.cpp Kernel: Make Thread use AK::Time internally 2021-03-02 08:36:08 +01:00
chdir.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
chmod.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
chown.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
chroot.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
clock.cpp Kernel: Don't return -EFOO when return type is KResultOr<...> 2021-03-15 09:09:04 +01:00
debug.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
disown.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
dup2.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
emuctl.cpp Kernel+UserspaceEmulator: Add sys$emuctl() system call 2021-03-09 08:58:26 +01:00
execve.cpp Kernel: Allow system calls from the dynamic loader 2021-04-18 10:55:25 +02:00
exit.cpp Kernel: Move process termination status/signal into protected data 2021-03-11 14:24:08 +01:00
fcntl.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
fork.cpp Kernel: Replace process' regions vector with a Red Black tree 2021-04-12 18:03:44 +02:00
ftruncate.cpp LibC+Kernel: Switch off_t to 64 bits 2021-03-17 23:22:42 +01:00
futex.cpp Kernel: Make Thread use AK::Time internally 2021-03-02 08:36:08 +01:00
get_dir_entries.cpp Kernel: Use Userspace<T> in sys$get_dir_entries() 2021-03-01 15:04:31 +01:00
get_stack_bounds.cpp Kernel: Use Userspace<T> in sys$get_stack_bounds() 2021-03-01 14:50:36 +01:00
getrandom.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
getuid.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
hostname.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
ioctl.cpp Kernel: Let's also not reverse the blocking flag for FIONBIO.. 2021-03-29 08:59:22 +02:00
keymap.cpp Kernel: Introduce a new HID subsystem 2021-04-03 11:57:23 +02:00
kill.cpp Kernel: Convert klog() => AK::Format in a handful of places 2021-03-12 15:22:35 +01:00
link.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
lseek.cpp Kernel: Make FileDescription::seek() return KResultOr<off_t> 2021-03-19 10:44:25 +01:00
mkdir.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
mknod.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
mmap.cpp Everywhere: Fix a bunch of typos 2021-04-18 10:30:03 +02:00
module.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
mount.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
open.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
perf_event.cpp Kernel: Better handling of allocation failure in profiling 2021-03-02 22:38:06 +01:00
pipe.cpp Kernel: Move select Process members into protected memory 2021-03-10 22:30:02 +01:00
pledge.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
prctl.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
process.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
profiling.cpp Kernel: Move select Process members into protected memory 2021-03-10 22:30:02 +01:00
ptrace.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
purge.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
read.cpp Kernel: Add bitwise operators for Thread::FileBlocker::BlockFlags enum 2021-03-08 18:47:40 +01:00
readlink.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
realpath.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
rename.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
rmdir.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
sched.cpp Kernel: Move select Process members into protected memory 2021-03-10 22:30:02 +01:00
select.cpp Kernel: Add bitwise operators for Thread::FileBlocker::BlockFlags enum 2021-03-08 18:47:40 +01:00
sendfd.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
setpgid.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
setuid.cpp Kernel: Don't keep protected Process data in a separate allocation 2021-03-11 14:21:49 +01:00
shutdown.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
sigaction.cpp Kernel: Use Userspace<T> in sys$sigaction() 2021-03-01 14:06:20 +01:00
socket.cpp Kernel: Make sockets use AK::Time 2021-03-02 08:36:08 +01:00
stat.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
sync.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
sysconf.cpp Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
thread.cpp Kernel: Fix pointer over/underflow in create_thread 2021-03-07 17:31:25 +01:00
times.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
ttyname.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
umask.cpp Kernel: Move process umask into protected data :^) 2021-03-11 14:21:49 +01:00
uname.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
unlink.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
unveil.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
utime.cpp Kernel: Make kgettimeofday use AK::Time 2021-03-02 08:36:08 +01:00
waitid.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
watch_file.cpp Kernel: Make all syscall functions return KResultOr<T> 2021-03-01 13:54:32 +01:00
write.cpp Kernel: Support write() after setting O_APPEND on a non-seekable file 2021-03-29 19:56:54 +02:00