summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibSystem
AgeCommit message (Collapse)Author
2022-05-02Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake optionAndrew Kaster
This option sets -fprofile-instr-generate -fcoverage-mapping for Clang builds only on almost all of Userland. Loader and LibTimeZone are exempt. This can be used for generating code coverage reports, or even PGO in the future.
2021-11-23LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCoreAndreas Kling
With this change, System::foo() becomes Core::System::foo(). Since LibCore builds on other systems than SerenityOS, we now have to make sure that wrappers work with just a standard C library underneath.
2021-11-23LibSystem: Add wrapper for fstat()Andreas Kling
2021-11-22LibSystem: Add ErrorOr<T> wrapper for sigaction() :^)Andreas Kling
2021-11-22AK+LibSystem+LibMain: Add Error::from_syscall() for syscall failuresAndreas Kling
This creates an error that contains the name of the syscall that failed. This allows error handlers to print out the name of the call if they want to. :^)
2021-11-22LibSystem: Disable stack protector in syscall wrappers on i686Andreas Kling
This is a hack to avoid a circular dependency issue with the stack check failure handler being in LibC. This is not ideal, and there's most likely a better way to solve this. That said, LibSystem should not have anything but thin wrappers around system calls, so stack protectors have limited utility here anyway.
2021-11-22LibSystem: Add pledge() and unveil() wrappers that return ErrorOr<void>Andreas Kling
These will be more ergonomic to use together with TRY(). :^)
2021-07-25Kernel+LibSystem: Add a 4th syscall argumentAndreas Kling
Let's allow passing 4 function arguments to a syscall. The 4th argument goes into ESI or RSI.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-03-19CMake: Make libc.a self-containedItamar
Previously, libc.a contained undefined symbols from ssp and libsystem, which caused static compilation to fail. We now generate libc.a with a custom CMake rule that combines all object files from libc, ssp and libsystem to form libc.a Closes #5758.
2021-02-05Userland: Add LibSystem and funnel all syscalls through itAndreas Kling
This achieves two things: - Programs can now intentionally perform arbitrary syscalls by calling syscall(). This allows us to work on things like syscall fuzzing. - It restricts the ability of userspace to make syscalls to a single 4KB page of code. In order to call the kernel directly, an attacker must now locate this page and call through it.