Package: libaio / 0.3.113-9
Metadata
| Package | Version | Patches format |
|---|---|---|
| libaio | 0.3.113-9 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| 0001 harness use off64_t instead of off_t in test 23.t EI.patch | (download) |
harness/cases/23.t |
4 2 + 2 - 0 ! |
[patch libaio 01/26] harness: use off64_t instead of off_t in test 23.t (EINVAL on 32-bit) |
| 0002 man Fix typos.patch | (download) |
man/io.3 |
4 2 + 2 - 0 ! |
[patch libaio 02/26] man: fix typos |
| 0003 build Update .gitignore for the harness artifacts.patch | (download) |
.gitignore |
5 5 + 0 - 0 ! |
[patch libaio 03/26] build: update .gitignore for the harness artifacts Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0004 build Fix DESTDIR and pathname variables handling.patch | (download) |
Makefile |
6 1 + 5 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0005 build Honor user build flags.patch | (download) |
harness/Makefile |
9 6 + 3 - 0 ! |
[patch libaio 05/26] build: honor user build flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0006 build Remove all test artifacts on clean.patch | (download) |
harness/Makefile |
4 3 + 1 - 0 ! |
[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. Reported-by: Lucas Nussbaum <lucas@debian.org> Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0007 Move semicolon to SYMVER and DEFSYMVER call sites.patch | (download) |
src/io_cancel.c |
2 1 + 1 - 0 ! |
[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. |
| 0008 Use new symver function attribute to support LTO bui.patch | (download) |
src/compat-0_1.c |
7 3 + 4 - 0 ! |
[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. |
| 0009 Remove unused vsys_def.h.patch | (download) |
src/Makefile |
2 1 + 1 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0010 Remove unused raw_syscall.c.patch | (download) |
src/Makefile |
3 0 + 3 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0011 Wrap long declarations exceeding 80 columns.patch | (download) |
src/io_cancel.c |
3 2 + 1 - 0 ! |
[patch libaio 11/26] wrap long declarations exceeding 80 columns Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0012 syscall Fix ARM definitions to match exactly the ker.patch | (download) |
src/syscall-arm.h |
10 5 + 5 - 0 ! |
[patch libaio 12/26] syscall: fix arm definitions to match exactly the kernel Otherwise we get preprocessor warnings due to the redefinitions. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0013 syscall Fix ia64 definitions to match exactly the ke.patch | (download) |
src/syscall-ia64.h |
11 6 + 5 - 0 ! |
[patch libaio 13/26] syscall: fix ia64 definitions to match exactly the kernel Otherwise we get preprocessor warnings due to the redefinitions. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0014 harness Add KERNEL_RW_POINTER for various 32 bit arc.patch | (download) |
harness/main.c |
9 9 + 0 - 0 ! |
[patch libaio 14/26] harness: add kernel_rw_pointer for various 32-bit architectures Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0015 Fix and improve MIPS support.patch | (download) |
harness/main.c |
2 1 + 1 - 0 ! |
[patch libaio 15/26] fix and improve mips support Fix structure padding for MIPS 64, add syscall definitions, and the kernel R/W pointer. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0016 Add PARISC support.patch | (download) |
harness/main.c |
2 2 + 0 - 0 ! |
[patch libaio 16/26] add parisc support Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0017 Add m68k support.patch | (download) |
harness/main.c |
2 1 + 1 - 0 ! |
[patch libaio 17/26] add m68k support Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0018 Add SH support.patch | (download) |
harness/main.c |
2 1 + 1 - 0 ! |
[patch libaio 18/26] add sh support Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0019 Add x32 support.patch | (download) |
harness/main.c |
2 1 + 1 - 0 ! |
[patch libaio 19/26] add x32 support Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0020 Rename sigset struct from data to aio_sigset.patch | (download) |
src/io_pgetevents.c |
8 4 + 4 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0021 Add time64 syscall support.patch | (download) |
src/Makefile |
1 1 + 0 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0022 Add time64 public functions on 32 bit architectures.patch | (download) |
harness/Makefile |
2 1 + 1 - 0 ! |
[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. Signed-off-by: Guillem Jover <guillem@hadrons.org> |
| 0023 Fix io_pgetevents syscall wrapper on 32 bit userland.patch | (download) |
src/aio_pgetevents.c |
30 26 + 4 - 0 ! |
[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. |
| 0024 Disable io_pgetevents_time64 as it is broken on 64 b.patch | (download) |
src/aio_pgetevents.c |
9 9 + 0 - 0 ! |
[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. |
| 0025 build Use a temporary SONAME bump to avoid stomping .patch | (download) |
src/Makefile |
2 1 + 1 - 0 ! |
[patch libaio 25/26] build: use a temporary soname bump to avoid stomping over upstream ABI |
| 0026 harness Disable failing test 23.patch | (download) |
harness/Makefile |
2 1 + 1 - 0 ! |
[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. |
| 0001 harness Hardcode list of ports that cannot check PRO.patch | (download) |
harness/cases/5.t |
9 8 + 1 - 0 ! |
[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. |
