Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
---|---|---|---|---|---|---|
0001-harness-use-off64_t-instead-of-off_t-in-test-23.t-EI.patch | [PATCH libaio 01/26] harness: use off64_t instead of off_t in test 23.t (EINVAL on 32-bit) | Andreas Baumann <mail@andreasbaumann.cc> | no | 2022-06-02 | ||
0002-man-Fix-typos.patch | [PATCH libaio 02/26] man: Fix typos | Guillem Jover <guillem@hadrons.org> | yes | vendor | 2021-10-10 | |
0003-build-Update-.gitignore-for-the-harness-artifacts.patch | [PATCH libaio 03/26] build: Update .gitignore for the harness artifacts | Guillem Jover <guillem@hadrons.org> | no | 2024-03-05 | ||
0004-build-Fix-DESTDIR-and-pathname-variables-handling.patch | [PATCH libaio 04/26] build: Fix DESTDIR and pathname variables handling The convention for DESTDIR is that it is only prefixed during the install target. In this case we postpone that to the inner Makefile so that it can be invoked directly while preserving the expected semantics. We should also prefer the user specified pathname variables if already set in any way, and do not need to pass them explicitly to the sub-make. |
Guillem Jover <guillem@hadrons.org> | no | 2020-04-12 | ||
0005-build-Honor-user-build-flags.patch | [PATCH libaio 05/26] build: Honor user build flags CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve, regardless of the user passing them over the environment or the command-line. Any required flag that the build system needs, has to be set in some other flag (which we will namespace with «MK_») so that the build will use even if the user flags are passed, even though the user should be able to override by appending after them. We pass CPPFLAGS to any compilation command that missed them. |
Guillem Jover <guillem@hadrons.org> | no | 2020-04-12 | ||
0006-build-Remove-all-test-artifacts-on-clean.patch | [PATCH libaio 06/26] build: Remove all test artifacts on clean We create these artifacts when running the test suite, so should remove them when running the clean target. |
Guillem Jover <guillem@hadrons.org> | no | 2023-08-06 | ||
0007-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch | [PATCH libaio 07/26] Move semicolon to SYMVER and DEFSYMVER call sites These look like function macros, so let's unify their call sites to use function syntax with a final semicolon. |
Guillem Jover <guillem@hadrons.org> | yes | vendor | 2021-11-03 | |
0008-Use-new-symver-function-attribute-to-support-LTO-bui.patch | [PATCH libaio 08/26] Use new symver function attribute to support LTO builds The LTO support cannot work properly when there are versioned symbols via asm statements, as those are not seen by the compiler. Use the new function attributes if supported instead of the asm statements. We need to move the SYMVER calls after the function definitions otherwise it will reference symbols not yet seen. |
Guillem Jover <guillem@hadrons.org> | yes | vendor | 2021-11-02 | |
0009-Remove-unused-vsys_def.h.patch | [PATCH libaio 09/26] Remove unused vsys_def.h This was an old header to handle the syscalls, which is not used anymore since commit 34c539fcb98c4397b9f04e93f8a475a9e445cf33. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-01 | ||
0010-Remove-unused-raw_syscall.c.patch | [PATCH libaio 10/26] Remove unused raw_syscall.c The ia64_aio_raw_syscall assembler function was replaced by the __ia64_raw_syscall in commit a4984400f1d40c3cd9353ee2d817271c0fa3b4bd. The hand-crafted syscalls for all architectures then got removed in commit 97fd3fc0195500e616e34047cba4846164c411d9. This file has not actually been used for a while, so we can drop it. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-01 | ||
0011-Wrap-long-declarations-exceeding-80-columns.patch | [PATCH libaio 11/26] Wrap long declarations exceeding 80 columns | Guillem Jover <guillem@hadrons.org> | no | 2024-03-03 | ||
0012-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch | [PATCH libaio 12/26] syscall: Fix ARM definitions to match exactly the kernel Otherwise we get preprocessor warnings due to the redefinitions. |
Guillem Jover <guillem@hadrons.org> | no | 2020-04-12 | ||
0013-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch | [PATCH libaio 13/26] syscall: Fix ia64 definitions to match exactly the kernel Otherwise we get preprocessor warnings due to the redefinitions. |
Guillem Jover <guillem@hadrons.org> | no | 2020-04-12 | ||
0014-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch | [PATCH libaio 14/26] harness: Add KERNEL_RW_POINTER for various 32-bit architectures | Guillem Jover <guillem@hadrons.org> | no | 2019-08-14 | ||
0015-Fix-and-improve-MIPS-support.patch | [PATCH libaio 15/26] Fix and improve MIPS support Fix structure padding for MIPS 64, add syscall definitions, and the kernel R/W pointer. |
Guillem Jover <guillem@hadrons.org> | no | 2019-08-14 | ||
0016-Add-PARISC-support.patch | [PATCH libaio 16/26] Add PARISC support | Guillem Jover <guillem@hadrons.org> | no | 2019-08-14 | ||
0017-Add-m68k-support.patch | [PATCH libaio 17/26] Add m68k support | Guillem Jover <guillem@hadrons.org> | no | 2019-08-14 | ||
0018-Add-SH-support.patch | [PATCH libaio 18/26] Add SH support | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | no | 2020-04-12 | ||
0019-Add-x32-support.patch | [PATCH libaio 19/26] Add x32 support | Guillem Jover <guillem@hadrons.org> | no | 2020-04-12 | ||
0020-Rename-sigset-struct-from-data-to-aio_sigset.patch | [PATCH libaio 20/26] Rename sigset struct from data to aio_sigset This makes the purpose more clear, and matches the naming in the aio syscall implementation in Linux. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-05 | ||
0021-Add-time64-syscall-support.patch | [PATCH libaio 21/26] Add time64 syscall support This implements both io_getevents() and io_pgetevents() as wrappers over the new aio_getevents() and aio_pgetevents() which use __kernel_timespec as its timespec data type which should always be 64-bit. We add the necessary conversion from __kernel_old_timespec or timsepec struct types. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-01 | ||
0022-Add-time64-public-functions-on-32-bit-architectures.patch | [PATCH libaio 22/26] Add time64 public functions on 32-bit architectures This adds new time64 functions for io_getevents() and io_pgetevents() that will get redirected when building with _TIME_BITS=64. Ideally we should generate the .map file and not include these symbols on 64-bit architectures, but this will do for now. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-01 | ||
0023-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch | [PATCH libaio 23/26] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels The kernel compat syscall in the kernel got introduced with a broken layout, which requires a pointer to the actual sigset_t variable but with the size of the running kernel, not the size of the compat code. This means that when the wrapper sends the expected compat (32-bit) pointer, the kernel reads a 64-bit pointer, eating with it also the sigset size member. And then proceeds to fail the comparison of the sigset_t size and returns EINVAL. This really needs to be fixed in the kernel, as there's no apparent user of the broken compat layout (from codesearch.debian.org, nor a quick github.com search). But we have to workaround it in libaio so that we can use kernels that have not yet been fixed. We do that, by trying the non-broken layout (that would be used with a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL we retry with a structure padded to what the kernel expects. |
Guillem Jover <guillem@hadrons.org> | not-needed | vendor | 2019-08-16 | |
0024-Disable-io_pgetevents_time64-as-it-is-broken-on-64-b.patch | [PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel 32-bit userland On 64-bit kernels running 32-bit userland, this syscall misbehaves when passing a sigmask by always returning -EINVAL. This works on 32-bit kernels. The syscall entry point is possible wrong and needs to be fixed in the kernel. For now disable as the code is handling clean 64-bit time_t and the timeout is relative anyway. Once this is fixed in the kernel, and after enough time has passed we can decide whether to enable this. |
Guillem Jover <guillem@hadrons.org> | not-needed | vendor | 2024-03-05 | |
0025-build-Use-a-temporary-SONAME-bump-to-avoid-stomping-.patch | [PATCH libaio 25/26] build: Use a temporary SONAME bump to avoid stomping over upstream ABI We are using a different SONAME in case upstream wants to see a different implementation for the newly added symbols. Where we then can easily revert to the original SONAME. If upstream takes the symbols as is, then we can simply create a compat symlink. |
Guillem Jover <guillem@hadrons.org> | not-needed | vendor | 2024-03-04 | |
0026-harness-Disable-failing-test-23.patch | [PATCH libaio 26/26] harness: Disable failing test 23 This new test fails on several architectures. But it is a new test intended to check for a Linux kernel regression, so we are not worse off than were before. Add it to the EXTRACASES variables, which has currently the side effect of disabling it, as it is not handled explicitly in the make target responsible for that variable. This is probably not needed anymore with the off64_t fix in upstream, but let's not try to revert this now while the time64 transition is ongoing. |
Guillem Jover <guillem@hadrons.org> | not-needed | vendor | 2022-04-19 | |
0001-harness-Hardcode-list-of-ports-that-cannot-check-PRO.patch | [PATCH libaio] harness: Hardcode list of ports that cannot check PROT_WRITE is readable On these ports, the write() check does not work, so we need to hardcode the list. |
Guillem Jover <guillem@hadrons.org> | no | 2024-03-06 |