This patch adds a ptrace based gdb backend, which is then enlightended
to known how to read the serenity i386 registers via ptrace.
This is just a basic implementation to get the port bootstrapped.
Stack regions can't be made volatile, which makes it impossible for
malloc to manage memory that's used for `sigaltstack()`. Let's use mmap
instead.
Co-authored-by: Idan Horowitz <idan.horowitz@gmail.com>
This change updates the port to the latest version, as part of that work
I basically reported the application, as we have added a lot of LibC
functionality which we were missing before. I've also updated the port
to mark stressor's we don't support as nops, instead of trying to avoid
compiling them at all. This will make the port much easier to maintain
in the future.
Our lua Makefile patch contained hardcoded binaries from the i686
toolchain. Use the CC, AR, and RANLIB variables from .port_include.sh
instead to make it architecture independent.
The patches take care of a port from SDL1 to SDL2 and replace the
keyboard mapping logic, which will otherwise take a whopping 16 GiB of
memory to run.
In 43c27e8, I mistakenly deleted the patch that removed calls to the
statfs() function, which we do not have. This made building the port
with a clean source tree fail.
This commit changes `libuv` to use our statvfs() function instead.
The following features are now available in the system, making these
patches unnecessary:
- isblank() function
- SIGSTKSZ constant
- MS_SYNC and MS_ASYNC msync() flags
- EDQUOT errno constant
The addition of the siginfo() function to LibC caused this port to
enable its stack overflow detection feature which, however, depends on
more features that we don't have.
fio allows you to test various different IO subsystems and patterns.
It can help us test and benchmark the I/O subsystems of Serenity.
This port gets the fio bootstrapped and working, using the included
.fio file, I have been able to test the file I/O performance already.
The old patch to define `HAVE_SIGSET_T` is no longer needed, as we now
have implementations for `sigwaitinfo` and `sigtimedwait`.
Instead, for the same reason, we now have to remove a reference to
`si_errno`, which we haven't implemented yet but is just assumed to be
there.
As of 8dd11ae, we have `/dev/tty`, which is used by openssh's built-in
read_passphrase function to access the TTY, making our patch
unnecessary.
Removing it also fixes a subtle issue: we did not handle the case of
stdout not being a TTY correctly, so prompts failed to show up when e.g.
the ssh process was being piped to. This made `git clone` not work when
the server's fingerprint was not already verified.
It appears that the patch still applied partially, which led to me
believing our changes were fully upstreamed. Only the _uuid module
specific changes didn't apply and are no longer needed, so simply
restore the other ones that I removed.
This was released a couple of days ago, on 2021-12-06 and contains
various changes that we previously needed custom patches for, so we are
now able to remove those and compile more unchanged upstream sources.
Thanks to Rodrigo for making that effort! :^)
In the initial port of dos2unix, there was a miss in the validation
of the files. Let's switch to the original author's official
signed verification of the source :^)
Port the ubiquitous dos2unix tool to Serenity. Dos2Unix is a suite of
tools for converting file line endings, from dos/mac to unix and unix
to dos/mac.
With this update, we now use our custom `serenity` Clang target, which
means that all system-specific compilation options (e.g. default PIE,
header search paths) will be handled automatically.
This port has been tested to build `Source/little` on all 4
toolchain-architecture pairs. Furthermore, `lib(std)c++` headers are
picked up correctly and our AK headers can be included without any
issues.
Due to recent kernel fixes related to memory-mapped files, the LLD
linker can now be used by default, so there's no need to also build the
GCC port alongside this.
Although our patches cover building libLLVM as a shared library, this is
currently not enabled by default, as DynamicLoader is very slow in
dealing with such a large number of relocations.