Debian Patches

Status for libaio/0.3.113-4

Patch Description Author Forwarded Bugs Origin Last update
0001-man-Fix-typos.patch [PATCH libaio 01/14] man: Fix typos Guillem Jover <guillem@hadrons.org> yes vendor 2021-10-10
0002-build-Fix-DESTDIR-and-pathname-variables-handling.patch [PATCH libaio 02/14] 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
0003-build-Honor-user-build-flags.patch [PATCH libaio 03/14] 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
0004-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch [PATCH libaio 04/14] 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
0005-Use-new-symver-function-attribute-to-support-LTO-bui.patch [PATCH libaio 05/14] 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
0006-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch [PATCH libaio 06/14] 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
0007-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch [PATCH libaio 07/14] 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
0008-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch [PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures Guillem Jover <guillem@hadrons.org> no 2019-08-14
0009-Fix-and-improve-MIPS-support.patch [PATCH libaio 09/14] 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
0010-Add-PARISC-support.patch [PATCH libaio 10/14] Add PARISC support Guillem Jover <guillem@hadrons.org> no 2019-08-14
0011-Add-m68k-support.patch [PATCH libaio 11/14] Add m68k support Guillem Jover <guillem@hadrons.org> no 2019-08-14
0012-Add-SH-support.patch [PATCH libaio 12/14] Add SH support Nobuhiro Iwamatsu <iwamatsu@nigauri.org> no 2020-04-12
0013-Add-x32-support.patch [PATCH libaio 13/14] Add x32 support Guillem Jover <guillem@hadrons.org> no 2020-04-12
0014-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch [PATCH libaio 14/14] 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
0001-harness-Disable-failing-test-23.patch [PATCH libaio] 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.
Guillem Jover <guillem@hadrons.org> not-needed vendor 2022-04-19

All known versions for source package 'libaio'

Links