Age | Commit message (Collapse) | Author |
|
Document the emergent pattern of using `SourceLocation` for capture
file, line, function name information when calling an API.
|
|
|
|
|
|
|
|
|
|
This was straight up the wrong CMake variable to set. We care about
where the project will find Lagom, not where it wants to install its own
binaries to.
|
|
Extra configure options may need passed to CLion in order for it not to
choke on the new CMake setup. In particular, it's now a very bad idea to
pass CMAKE_CXX_COMPILER and CMAKE_C_COMPILER to the target build.
|
|
Add additional clarification for the CMake cache, and add missing extra
targets as well.
|
|
GithubFlavoredMarkdown sees the angled brackets (<>) and censors them.
Perhaps because it does not allow HTML tags in headings.
|
|
|
|
People seem to easily miss the "Setting up build tools" section, so I
have moved that step above the filesystem information and linked
directly to BuildInstructions.md to hopefully make it harder to skip.
Also, added mention of `\\wsl$` since that regularly comes up in
Discord.
|
|
|
|
I was building serenity on quite a fresh NixOS system and it turns
out `unzip` and `qemu` were missing from this nix expression to
compile and run serenity.
|
|
The default template argument is only used in one place, and it
looks like it was probably just an oversight. The rest of the Kernel
code all uses u8 as the type. So lets make that the default and remove
the unused template argument, as there doesn't seem to be a reason to
allow the size to be customizable.
|
|
The purpose of this document is to track and describe the various
patterns used through the SerenityOS code base.
|
|
|
|
|
|
Even though Markdown renderers should handle this fine as-is, not
escaping the asterisk makes vim render a lot of text in italics, for
example.
|
|
This is a combination of the efforts of multiple people and hours of
pain trying to configure VSCode properly. This should give a good
baseline for anyone trying to develop Serenity with VSCode.
Co-authored-by: Hendiadyoin1 <leon2002.la@gmail.com>
|
|
FreeBSD comes with Clang as default host compiler and provides
GCC in the package system. The commit adds a few dependencies to
the pkg command line.
|
|
|
|
People still ask about this all the time, so let's keep the question but
amend it with the fact that we now have 64-bit support as well.
|
|
|
|
Instead, use more static patterns to acquire that sort of data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Serenity build tooling autodetects gcc 10 so update-alternatives
is not necessary. Also, switching apt repositories on the fly can
cause issues with dependencies, package downgrades and leave the
system in a broken state.
|
|
After discussing on Discord about how to speed up the build time, I
received lots of helpful advice on measuring the build time, but none of
it was easily accessible. I thought other people might find it useful,
so I've written it down! :^)
Thanks goes to @bgianfo and @nico.
|
|
Simply adding a 'testing' repo on a Debian stable system is destructive
to the system. Add better hints on building Serenity on Debian.
|
|
The `Meta/build-image-qemu.sh` script runs mke2fs in both the FUSE and
genext2fs options, so always install e2fsprogs.
|
|
|
|
GCC and Clang allow us to inject a call to a function named
__sanitizer_cov_trace_pc on every edge. This function has to be defined
by us. By noting down the caller in that function we can trace the code
we have encountered during execution. Such information is used by
coverage guided fuzzers like AFL and LibFuzzer to determine if a new
input resulted in a new code path. This makes fuzzing much more
effective.
Additionally this adds a basic KCOV implementation. KCOV is an API that
allows user space to request the kernel to start collecting coverage
information for a given user space thread. Furthermore KCOV then exposes
the collected program counters to user space via a BlockDevice which can
be mmaped from user space.
This work is required to add effective support for fuzzing SerenityOS to
the Syzkaller syscall fuzzer. :^) :^)
|
|
This removes the '$' character so that it is easier to copy commands
directly from the build instructions and then executing them without
first having to remove the '$' character.
|
|
They don't need QEMU to run the VM but they do at least need the QEMU
tools to build the image.
|
|
The WASM spec tests caused a stack overflow when generated with wat2wasm
version 1.0.23, which ships with homebrew. To give feature parity,
manually download the same version from GitHub packages for Ubuntu.
Document the dependencies of the WASM spec tests option, as well.
|
|
|
|
|
|
|
|
The crowd has spoken and it's clear they want... Windows and Arch Linux.
|
|
|
|
This is no longer relevant for most users because due to an
unrelated change to Meta/run.sh the default display backend is now
SDL which does not exhibit this problem.
|
|
|
|
|
|
|
|
Clearly nobody has used this in a while because cpuinfo.c
for GCC 11 does not contain the code that's mentioned here.
|
|
These workarounds are already mentioned in the "Hardware acceleration"
section.
|