Add an LLVM 22.1.6 runtimes patch for building libc++, libc++abi, and llvm-libgcc together. The patch lets libc++abi accept llvm-libgcc as the provider of the LLVM unwinder, keeps the libgcc_s version script private to libunwind so it does not leak into libc++abi links, and adds an opt-out for building compiler-rt inside llvm-libgcc when an exported external builtins archive is available. Add libxcrypt patches for current Clang/glibc builds: avoid treating Clang as old GCC in yescrypt assembly selection and adjust yescrypt strchr call sites for the newer glibc const-correct prototype behavior. Add a mandoc 1.14.6 patch for zstd-compressed manual pages, including configure checks, linker flags, documentation, section matching, and decompression handling. Remove the obsolete Perl 5.42.2 LBI patch from the patch set.
Vertex Linux Patches
This directory is a working collection of old and current patch sets used for Vertex Linux packaging.
It spans two broad eras of the distro:
- The older
musl + mimalloc + LibreSSLera. - The current
glibc + x86_64-v3era.
Some patches are clearly tied to one period, while others are carry patches that remained useful across both.
What This Tree Contains
The patches here are not a pristine historical archive of a single release. They are a maintained patch bucket for packages Vertex Linux has needed to adjust over time, including:
- libc and toolchain integration fixes
clangandcompiler-rtcompatibility workx86_64-v3policy and platform-specific changesLibreSSLcompatibility patches from the older stack- POSIX and
/bin/shcleanups for build scripts - packaging, portability, and local distro behavior changes
Era Notes
Older Era: musl + mimalloc + LibreSSL + LLVM/Clang
This was the earlier Vertex Linux direction. Patches from that period generally reflect:
musl-oriented portability workLibreSSLcompatibility, especially for older Qt and network/crypto consumers- runtime and allocator decisions that matched the
mimallocperiod - build-system cleanup for a smaller, less GNU-specific base
Current Era: glibc + x86_64-v3 + LLVM/Clang
This is the current Vertex Linux direction. Patches from this period generally reflect:
glibc-based userland assumptionsx86_64-v3baseline policy- modern
LLVM/Clang,lld,compiler-rt, andlibc++integration - removing hardcoded GNU toolchain assumptions where they break modern Clang-based builds
Examples in this tree include the kernel-side x86_64-v3 enforcement patch in linux/0001-x86-setup-enforce-x86_64-v3.patch and newer glibc/valgrind compiler-runtime fixes such as glibc/glibc-2.43-use-compiler-reported-libgcc.patch and valgrind/valgrind-3.26.0-ungnuify.patch.
Reading The Layout
Directories are package-oriented. In general, each subdirectory holds local patches for one upstream project, for example:
Practical Note
Not every patch maps cleanly to exactly one era. This tree should be read as "Vertex Linux patches that accumulated through the older musl/mimalloc/LibreSSL period and into the current glibc/x86_64-v3 period", not as a strict release-by-release archive.
PS:
And yes I used ai for these, not because I don't know how to write patches/code, but because I PROMISE I dont have the time to do all of this by hand. I have to maintain the distro, do the packaging, code a bunch of more stuff, and also write the documentation. The patches are just a small part of the work, and using ai helps me get them done faster so I can focus on the other important tasks.