1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-31 14:42:44 +00:00
serenity/Kernel/Syscalls
Gunnar Beutner 06883ed8a3 Kernel+Userland: Make the stack alignment comply with the System V ABI
The System V ABI for both x86 and x86_64 requires that the stack pointer
is 16-byte aligned on entry. Previously we did not align the stack
pointer properly.

As far as "main" was concerned the stack alignment was correct even
without this patch due to how the C++ _start function and the kernel
interacted, i.e. the kernel misaligned the stack as far as the ABI
was concerned but that misalignment (read: it was properly aligned for
a regular function call - but misaligned in terms of what the ABI
dictates) was actually expected by our _start function.
2021-07-10 01:41:57 +02:00
..
access.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
alarm.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
anon_create.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
beep.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
chdir.cpp Kernel: Custody::absolute_path() => try_create_absolute_path() 2021-07-07 15:32:17 +02:00
chmod.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
chown.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
chroot.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
clock.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
debug.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
disown.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
dup2.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
emuctl.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
execve.cpp Kernel+Userland: Make the stack alignment comply with the System V ABI 2021-07-10 01:41:57 +02:00
exit.cpp Kernel: Don't log profile data before/after the process/thread lifetime 2021-05-30 19:03:03 +02:00
fcntl.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
fork.cpp Kernel: Introduce the new ProcFS design 2021-06-29 20:53:59 +02:00
ftruncate.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
futex.cpp Kernel: Do not hold spinlock while touching user mode futex values 2021-07-07 10:05:55 +02:00
get_dir_entries.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
get_stack_bounds.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
getrandom.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
getuid.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
hostname.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
inode_watcher.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
ioctl.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
keymap.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
kill.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
link.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
lseek.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
mkdir.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
mknod.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
mmap.cpp Kernel: Implement TLS support for x86_64 2021-07-04 01:07:28 +02:00
module.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
mount.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
open.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
perf_event.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
pipe.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
pledge.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
prctl.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
process.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
profiling.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
ptrace.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
purge.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
read.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
readlink.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
realpath.cpp Kernel: Custody::absolute_path() => try_create_absolute_path() 2021-07-07 15:32:17 +02:00
rename.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
rmdir.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
sched.cpp Kernel+LibC: Remove sys$donate() 2021-07-05 23:30:15 +02:00
select.cpp Everywhere: Fix incorrect usages of AK::Checked 2021-07-04 20:08:28 +01:00
sendfd.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
setpgid.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
setuid.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
shutdown.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
sigaction.cpp Kernel: Implement signal handling for x86_64 2021-06-29 20:03:36 +02:00
socket.cpp Everywhere: Fix some alignment issues 2021-07-03 01:56:31 +04:30
stat.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
statvfs.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
sync.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
sysconf.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
thread.cpp LibPthread+Kernel: Add pthread_kill() and the thread_kill syscall 2021-07-09 15:36:50 +02:00
times.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
ttyname.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00
umask.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
uname.cpp Kernel: Report correct architecture for uname() 2021-06-29 20:03:36 +02:00
unlink.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
unveil.cpp Kernel: Custody::absolute_path() => try_create_absolute_path() 2021-07-07 15:32:17 +02:00
utime.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
waitid.cpp Kernel: Fix the return type for syscalls 2021-06-28 22:29:28 +02:00
write.cpp Kernel: Don't copy a Vector<FileDescriptionAndFlags> 2021-06-29 20:53:59 +02:00