This patch adds an RVV-optimized implementation of strcpy for RISC-V and enables it for both multiarch (IFUNC) and non-multiarch builds. The implementation integrates Hau Hsu's 2023 RVV work under a unified ifunc-based framework.
3-tap [1,2,1]>>2: shared implementation body across size-specialized entry points (8x8/16x16/32x32) to reduce code size.
This patch adds the transpose_cuda video filter.
Vector variants of the new C23 powr routines.
This patch adds an RVV-optimized implementation of strcat for RISC-V and enables it for both multiarch (IFUNC) and non-multiarch builds. The implementation integrates Hau Hsu's 2023 RVV work under a unified ifunc-based framework.
Use a top-level heading on the first line (MD041-style) and adjust section levels for clearer document structure.
Insert spacing after the first heading (MD022-style).
This patch removes s390-32 specific code in either common-code files or shared files between s390-64 and s390-32. Such code was guarded with preprocessor guards which check the size of __WORDSIZE or __ELF_NATIVE_CLASS and of course the existance of __s390x__ and __s390__ macros. Note, that if __s390x__ is defined then __s390__ is also defined.
The removal of s390-32 allows us to switch to common-code headers instead of providing s390-64 specific headers: from sysdeps/unix/sysv/linux/s390/bits/environments.h to bits/environments.h -> We now only have a 64bit environment. from sysdeps/s390/s390-64/bits/wordsize.h to sysdeps/wordsize-64/bits/wordsize.h-> All macros are defined equal from sysdeps/unix/sysv/linux/s390/bits/utmp.h to bits/utmp.h-> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to 0, then the 64bit part of both headers is identical from sysdeps/unix/sysv/linux/s390/bits/utmpx.h to sysdeps/gnu/bits/utmpx.h-> On s390-64, __WORDSIZE_TIME64_COMPAT32 is defined to 0, then the 64bit part of both headers is identical from sysdeps/unix/sysv/linux/s390/bits/timesize.h to bits/timesize.h-> __TIMESIZE is defined to 64 in both cases from sysdeps/unix/sysv/linux/s390/bits/procfs-id.h to sysdeps/unix/sysv/linux/bits/procfs-id.h-> The typedefs for __pr_uid_t and __pr_gid_t on s390-64 are equal in both files.
All the files in subfolders s390/s390-64 in sysdeps directory are moved up to the s390/ ones.
The linux 6.19 release has removed support for compat syscalls on s390x.
This adds a NEON-optimized function for computing 32x32 Sum of Absolute Differences (SAD) on AArch64, addressing a gap where x86 had SSE2/AVX2 implementations but AArch64 lacked equivalent coverage.
Add support for parsing and muxing smpte 2094-50 metadata.
Finally, after so many years.
As well as weird edge cases like trying to filter `monow` and pixels landing in the middle of a byte.
Introduce a new tunable, `glibc.elf.thp`, to control Transparent Huge Page (THP) aware alignment of ELF loadable segments. When set to `1`, the dynamic loader will attempt to align sufficiently large `PT_LOAD` segments to the PMD huge page size when mapping them.
Mapping segments that are at least the size of a PMD huge page to huge-page-aligned addresses helps make them eligible for Transparent Huge Pages (THP). This patch introduces a Linux-specific helper, `_dl_map_segment_align`, to determine an appropriate maximum alignment for ELF load segments based on the system THP policy.
On LoongArch64 Linux, aligning ELF load segments to Transparent Huge Page (THP) boundaries provides consistent performance benefits for large binaries by reducing TLB pressure and improving instruction fetch efficiency. Enable THP-based load segment alignment by default on LoongArch64 by setting `glibc.elf.thp=1` during startup.
When the WAV muxer's `-rf64 auto` option is used, the output is intended to be a normal WAV file if possible, only extended to RF64 format when the file size grows too large.