68059 Commits
Author SHA1 Message Date
Linus Groh 42767d1fe3 Ports: Update tree to 2.3.2 2026-10-14 12:57:16 -04:00
Linus Groh 6c98ddc209 Ports: Update tcl to 9.1.0 2026-10-14 12:57:16 -04:00
Linus Groh a159462f6d Ports: Update sqlite to 3.54.0 2026-10-14 12:57:16 -04:00
Linus Groh d7c9af2862 Ports: Update sdl12-compat to 1.2.78 2026-10-14 12:57:16 -04:00
Linus Groh 75309c45c8 Ports: Update scummvm to 2026.4.0 2026-10-14 12:57:16 -04:00
Linus Groh fc5290ca6c Ports: Update qemu to 11.1.2
Dropped options:
- --disable-strip has been inverted (--enable-strip)
- --extra-ldflags=-lm is not needed, meson links libm
- --target-list=i386-softmmu to only keep targets serenity supports
2026-10-14 12:57:16 -04:00
Linus Groh e659e3611e Ports: Update pv to 1.12.0 2026-10-14 12:57:16 -04:00
Linus Groh fce9d36880 Ports: Update protobuf to 36.2 2026-10-14 12:57:16 -04:00
Linus Groh 4cb033e14b Ports: Update prboom-plus to 2.6.66 2026-10-14 12:57:16 -04:00
Linus Groh 6f9b10bd7b Ports: Update pkgconf to 3.0.8 2026-10-14 12:57:16 -04:00
Linus Groh 6aad12c78e Ports: Update patchelf to 0.19.2 2026-10-14 12:57:16 -04:00
Linus Groh a7cb5e2a84 Ports: Update optipng to 7.9.1 2026-10-14 12:57:16 -04:00
Linus Groh db34815e9a Ports: Update openttd-opengfx to 8.0 2026-10-14 12:57:16 -04:00
Linus Groh 2aae5444ae Ports: Update openssh to 10.6p1
LDFLAGS override no longer seems to be needed.
2026-10-14 12:57:16 -04:00
Linus Groh 26850ceb53 Ports: Update mpfr to 4.2.2 2026-10-14 12:57:16 -04:00
Linus Groh 04e487c180 Ports: Update mgba to 0.10.5 2026-10-14 12:57:16 -04:00
Linus Groh 6e1780bd0b Ports: Update luv to 1.53.0-0 2026-10-14 12:57:16 -04:00
Linus Groh c303eb6688 Ports: Update libzip to 1.12
Also drop the patch in favor of regular CMake options.
2026-10-14 12:57:16 -04:00
Linus Groh febd10972e Ports: Update libxmp to 4.7.4 2026-10-14 12:57:16 -04:00
Linus Groh 29c22ce79d Ports: Update libwebp to 1.6.0 2026-10-14 12:57:16 -04:00
Linus Groh 883f2d2ca0 Ports: Update libsixel to 1.10.5 2026-10-14 12:57:16 -04:00
Linus Groh 1df9b31cee Ports: Update libmikmod to 3.3.15 2026-10-14 12:57:16 -04:00
Linus Groh 8830c83bd2 Ports: Update libmad to 0.16.5 2026-10-14 12:57:16 -04:00
Linus Groh 6fbcae0286 Ports: Update isl to 0.28 2026-10-14 12:57:16 -04:00
Linus Groh a42761a9c2 Ports: Update imagemagick to 7.1.2-33 2026-10-14 12:57:16 -04:00
Linus Groh 02fe5f05d1 Ports: Update groff to 1.24.2 2026-10-14 12:57:16 -04:00
Linus Groh 2d3083dc3e Ports: Update freetype to 2.15.0 2026-10-14 12:57:16 -04:00
Linus Groh 59889bc605 Ports: Update FAudio to 26.10 2026-10-14 12:57:16 -04:00
Linus Groh 498941444f Ports: Update expat to 2.9.0 2026-10-14 12:57:16 -04:00
Linus Groh 22d7256229 Ports: Update curl to 8.23.0 2026-10-14 12:57:16 -04:00
Linus Groh bb2f2c34c4 Ports: Update cairo to 1.18.6 2026-10-14 12:57:16 -04:00
Linus Groh 4b3eab7c2c Ports: Update acpica-tools to 20260930 2026-10-14 12:57:16 -04:00
Linus Groh 368d170070 Ports: Avoid absolute paths for install(1)
Just because your distro installs install(1) to /usr/bin doesn't mean
every distro does.
2026-10-14 12:57:16 -04:00
Linus Groh 952b09889c Ports: Build gmp as a shared library
Several ports fail to build when trying to link the non-PIC static
library, and embracing shared libraries seems like the best fix for
serenity.
2026-10-14 12:57:16 -04:00
Chandan MK a99c7d9f9d LibCrypto: Reject short encoded messages in EMSA_PKCS1_V1_5::verify
encode() returns without writing anything when emLen < tLen + 11, but
verify() went on to compare the input against that untouched buffer.
For an empty signature both sides are empty, so LibTLS accepted an
empty RSA signature on certificates and on ServerKeyExchange.
2026-10-14 11:31:00 -04:00
Chandan MK 1f66243eea LibArchive: Read tar header string fields with strnlen
get_field_as_string_view used min(strlen(field), N), but strlen scans
for a nul past N before the min applies, over-reading a
non-nul-terminated field past the end of the header. Use strnlen so the
scan stops at N, and route link_name (which had no cap) through the
same helper.
2026-10-14 11:30:30 -04:00
Lucas Chollet 09543f0a67 LibCrypto: Build the library with -fzero-call-used-regs=used
By zeroing registers when returning from crypto functions, we prevent
attackers from accessing sensitive information that could otherwise be
left in these registers.

Note that we currently have no safety regarding the same kind of
leakage but with stack or heap memory.

From some small experiments, the performance cost should be under 5%.
This could probably be optimized by only applying it to the public API.
2026-10-14 15:19:27 +02:00
Lucas Chollet bd4bcd52be Meta: Generate one coverage report per library
This allows us to see the coverage of each library without transitive
usages. As an example, Vector::clone() is never tested directly in
Tests/AK, and it's coverage depends on an external test or library. This
means that its coverage is fragile as the code using it in tests might
be dropped in the future.
2026-10-14 09:14:25 +02:00
Lucas Chollet 7dea0e2eb8 Meta: Move $all_binaries definition closer to its use 2026-10-14 09:14:25 +02:00
Lucas Chollet 1241e4f0a6 Meta+CMake: Enable coverage for test binaries
This will allow everything defined in headers to be instrumented. As an
example, the function `AK::any_of` isn't instantiated inside AK, that
means that no coverage is reported if we don't consider the
instantiation in the test binary itself.
2026-10-14 09:14:25 +02:00
Lucas Chollet 05d7ed4e2c Meta+run-tests: Put coverage results in per-library folders 2026-10-14 09:14:25 +02:00
Lucas Chollet 41ebb4e542 Meta: Report an error if the coverage directory already exists
This avoids contaminations from previous runs.
2026-10-14 09:14:25 +02:00
Lucas Chollet f82570ae70 Meta: Make finding executables in analyze-qemu-coverage.sh way faster
Using `find` to do the heavy lifting makes the execution time go from
44s to 3s on my computer.
2026-10-14 09:14:25 +02:00
Lucas Chollet 23b01b9ea1 CI: Use the self-test-coverage mode for coverage builds 2026-10-14 09:14:25 +02:00
Lucas Chollet d76b073506 Base: Add the self-test-coverage system mode
This will allow us to have custom behavior for coverage builds.
2026-10-14 09:14:25 +02:00
Linus Groh 8837f34dab Ports: Fix xz download URL
Tarballs on tukaani.org seem to be gone.
2026-10-14 09:12:47 +02:00
Linus Groh 2872565344 Nix: Update inputs
I've been using the nix shell with my system's copy of nixpkgs, running
it against the flake nixpkgs fails due to lua5_5 not being present.
Simply needs an update to fix that.
2026-10-14 09:12:47 +02:00
Linus Groh b84170ad70 Ports: Update python3 to 3.15.0 2026-10-13 20:19:25 -04:00
Lucas Chollet 933c0066ca AK/Math: Make lgamma a lot more precise on the (0, 8) range
Max ULP                Mean ULP
Before:              inf    998274894113382.2500
After:        7352987.00                 18.7027

While this is already a lot better, the error is still significant. This
is mainly due to the areas around the roots of lgamma(x) (x=1 and x=2)
where the results are close to zero and thus requires tiny absolute
errors. On (0, 0.7] ∪ [2.3, 8) the maximum error is 20 ULP.

This introduces a lot of polynomials, but I don't think we have another
choice here (CORE-MATH uses even more on the same interval). To find the
subdivisions, I simply searched for x so that a degree 12 polynomial
would have a small error (~1e-18) on [x, 8] and then repeated the
process until the full [0, 8] interval was filled.
2026-10-12 18:39:50 +02:00
Lucas Chollet 47685800ab AK/Math: Make lgamma a lot more precise on [8, 1e7)
This is done by using a polynomial to compensate the mathematical error
term of the stirling approximation.

                 Max ULP                Mean ULP
Before: 6697252309907.00       725249701724.2207
After:              2.00                  0.4674
2026-10-12 18:39:50 +02:00