1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:47:34 +00:00

Kernel+LibC: Pass 64-bit integers in syscalls by value

Now that support for 32-bit x86 has been removed, we don't have to worry
about the top half of `off_t`/`u64` values being chopped off when we try
to pass them in registers. Therefore, we no longer need the workaround
of pointers to stack-allocated values to syscalls.

Note that this changes the system call ABI, so statically linked
programs will have to be re-linked.
This commit is contained in:
Daniel Bertalan 2023-08-11 10:47:31 +02:00
parent 87f4b0f1c2
commit 286984750e
12 changed files with 22 additions and 37 deletions

View file

@ -118,7 +118,7 @@ int posix_fadvise(int fd, off_t offset, off_t len, int advice)
int posix_fallocate(int fd, off_t offset, off_t len)
{
// posix_fallocate does not set errno.
return -static_cast<int>(syscall(SC_posix_fallocate, fd, &offset, &len));
return -static_cast<int>(syscall(SC_posix_fallocate, fd, offset, len));
}
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/utimensat.html