Debian Patches

Status for libaio/0.3.112-9

Patch Description Author Forwarded Bugs Origin Last update
upstream/0001-Link-against-libgcc-to-avoid-unresolved-symbols.patch [PATCH libaio] Link against libgcc to avoid unresolved symbols
We need to link agaisnt -lgcc, on at least hppa, PPC and ARC.
That's because in some corner-cases like compilation with -Os
on ARC and PPC so-called millicode (basically function prologue and
epilogue) implemented in libgcc.a is used. So we end up with
GLOBAL UNDEFINED symbol in libaio.so and then on linkage of the final
applicaiton LD fails to proceed saying:
Guillem Jover <guillem@debian.org> no 2018-09-28
upstream/0001-harness-allow-running-tests-against-the-installed-li.patch [PATCH libaio 01/28] harness: allow running tests against the installed library

A user can now specify "LIBAIO=/path/to/libaio.so" in order to run
the test harness against the installed library.
Jeff Moyer <jmoyer@redhat.com> no 2019-07-29
upstream/0002-man-Add-missing-space-in-man-page-references.patch [PATCH libaio 02/28] man: Add missing space in man page references Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0003-man-Use-the-correct-troff-macro-for-comments.patch [PATCH libaio 03/28] man: Use the correct troff macro for comments Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0004-man-Refer-to-libaio.h-instead-of-libio.h.patch [PATCH libaio 04/28] man: Refer to libaio.h instead of libio.h Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0005-man-End-sentences-with-a-period.patch [PATCH libaio 05/28] man: End sentences with a period Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0006-man-Fix-casing.patch [PATCH libaio 06/28] man: Fix casing Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0007-man-Fix-period-formatting.patch [PATCH libaio 07/28] man: Fix period formatting Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0008-man-Remove-spurious-spaces.patch [PATCH libaio 08/28] man: Remove spurious spaces Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0009-man-Remove-spurious-text.patch [PATCH libaio 09/28] man: Remove spurious text Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0010-man-Add-None-to-empty-sections.patch [PATCH libaio 10/28] man: Add "None" to empty sections Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0011-man-Fix-typos.patch [PATCH libaio 11/28] man: Fix typos Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0012-man-Fix-title-header.patch [PATCH libaio 12/28] man: Fix title header
- Update year.
- Balance double quotes.
- Remove version from source argument as recommended in man-pages(7).
- Fix all sections numbers to 3.
Guillem Jover <guillem@hadrons.org> no 2019-07-23
upstream/0013-man-Fix-markup.patch [PATCH libaio 13/28] man: Fix markup
- Remove unnecessary macro argument quoting.
- Variables, pathnames in italics.
- Keywords in bold.
- Man page references in bold, followed by the man page number.
- Fix TP/TQ macro usage.
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0014-man-Fold-short-lines.patch [PATCH libaio 14/28] man: Fold short lines Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0015-man-Escape-verbatim-n-in-order-to-make-it-through-ro.patch [PATCH libaio 15/28] man: Escape verbatim \n in order to make it through roff Stephan Springl <springl-libaio@bfw-online.de> no 2019-07-20
upstream/0016-Use-ctx-consistently-for-io_context_t-instead-of-ctx.patch [PATCH libaio 16/28] Use ctx consistently for io_context_t instead of ctx_id Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0017-harness-Use-destination-strncpy-expression-for-sizeo.patch [PATCH libaio 17/28] harness: Use destination strncpy() expression for sizeof() argument

Even though this is the same size, as the sizeof() is derived from the
source expression, recent gcc versions will emit a warning, which is
turned into an error by -Werror:

error: argument to ‘sizeof’ in ‘strncpy’ call is the same expression
as the source; did you mean to use the size of the destination?
[-Werror=sizeof-pointer-memaccess]
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0018-harness-Use-run-time-_SC_PAGE_SIZE-instead-of-build-.patch [PATCH libaio 18/28] harness: Use run-time _SC_PAGE_SIZE instead of build-time PAGESIZE

The getconf(1) command is inherently not cross-compilation friendly.
In addition PAGESIZE depends on the specific system, even within a
specific arch, so using a hard-coded value is never safe.
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0019-harness-Make-RISC-V-use-SYS_eventfd2-instead-of-unav.patch [PATCH libaio 19/28] harness: Make RISC-V use SYS_eventfd2 instead of unavailable SYS_eventfd

This is a recent architecture and as such does not provide legacy
support for SYS_eventfd. Declare that we need to use the new syscall.
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0020-harness-Make-the-test-exit-with-a-code-matching-the-.patch [PATCH libaio 20/28] harness: Make the test exit with a code matching the pass/fail state

This way we can use the exit code to check whether the tests passed or
failed, and fail the package build.
Guillem Jover <guillem@hadrons.org> no 2019-07-23
upstream/0021-harness-add-support-for-skipping-tests.patch [PATCH libaio 21/28] harness: add support for skipping tests
Skipped tests will not cause the test harness to return failure. An
exit status of "3" was chosen for skipped tests. This doesn't
conflict with any of the current tests.
Jeff Moyer <jmoyer@redhat.com> no 2019-07-29
upstream/0022-harness-Add-fallback-code-for-filesystems-not-suppor.patch [PATCH libaio 22/28] harness: Add fallback code for filesystems not supporting O_DIRECT

When running the harness on a filesystem such as a tmpfs, which do not
support O_DIRECT, fallback to calls without the flag.

[JEM: change from duplicating the open call to using F_SETFL]
[JEM: 18 and 21 require O_DIRECT-skip if not present]
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0023-harness-Handle-ENOTSUP-from-io_submit-with-RWF_NOWAI.patch [PATCH libaio 23/28] harness: Handle -ENOTSUP from io_submit() with RWF_NOWAIT

On filesystems such as tmpfs the syscall might return -ENOTSUP instead
of EINVAL when it does not support the RWF_NOWAIT flag.

[JEM: skip the test instead of returning success]
[JEM: make the error message differentiate between kernel and fs support]
Guillem Jover <guillem@hadrons.org> no 2019-07-20
upstream/0024-harness-skip-22.p-if-async_poll-isn-t-supported.patch [PATCH libaio 24/28] harness: skip 22.p if async_poll isn't supported
Use the new skip error code instead of failing the test. Also
add in a Local variables: section for emacs.
Jeff Moyer <jmoyer@redhat.com> no 2019-07-29
upstream/0025-harness-fix-read-into-PROT_WRITE-mmap-test.patch [PATCH libaio 25/28] harness: fix read into PROT_WRITE mmap test
This test has been broken forever. Fix it up to perform an
aio_read using the result of a regular read as the expected
return code.
Jeff Moyer <jmoyer@redhat.com> no 2019-08-13
upstream/0026-harness-Fix-PROT_WRITE-mmap-check.patch [PATCH libaio 26/28] harness: Fix PROT_WRITE mmap check
This partially reverts commit d7f5065448efb49b2a26e728ff735e12ea05b62e.

The actual problem in the original code was that read() was being used
to assert whether the buffer was readable, but the kernel was instead
reading from the file descriptor and then writing into the buffer, so
no EFAULT was being generated (on architectures that do so).

We needed to use a write() so that the kernel would read from the
buffer.
Guillem Jover <guillem@hadrons.org> no 2019-08-14
upstream/0027-harness-Print-better-error-messages-on-error-conditi.patch [PATCH libaio 27/28] harness: Print better error messages on error conditions in 22.t

These should help diagnose problems when dealing with error failures.
In particular this helped distinguish the problem with io_pgetevents()
not being implemented and it failing due to the sigset_t layout bug.

[JEM: fix up 80 columns violations]
Guillem Jover <guillem@hadrons.org> no 2019-08-21
upstream/0028-harness-Skip-the-test-if-io_pgetevents-is-not-implem.patch [PATCH libaio 28/28] harness: Skip the test if io_pgetevents() is not implemented

Either the kernel or the syscall wrapper will return -ENOSYS when this
syscall is not implemented. So we should cope with this in the test
suite and SKIP the test case.

This is currently the case for alpha and ia64, even though they have
already been wired up very recently in the kernel mainline.
Guillem Jover <guillem@hadrons.org> no 2019-08-21
0001-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch [PATCH libaio 01/11] 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
0002-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch [PATCH libaio 02/11] 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
0003-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch [PATCH libaio 03/11] harness: Add KERNEL_RW_POINTER for various 32-bit architectures Guillem Jover <guillem@hadrons.org> no 2019-08-14
0004-Fix-and-improve-MIPS-support.patch [PATCH libaio 04/11] 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
0005-Add-PARISC-support.patch [PATCH libaio 05/11] Add PARISC support Guillem Jover <guillem@hadrons.org> no 2019-08-14
0006-Add-m68k-support.patch [PATCH libaio 06/11] Add m68k support Guillem Jover <guillem@hadrons.org> no 2019-08-14
0007-Add-SH-support.patch [PATCH libaio 07/11] Add SH support Nobuhiro Iwamatsu <iwamatsu@nigauri.org> no 2020-04-12
0008-Add-x32-support.patch [PATCH libaio 08/11] Add x32 support Guillem Jover <guillem@hadrons.org> no 2020-04-12
0009-build-Fix-DESTDIR-handling.patch [PATCH libaio 09/11] build: Fix DESTDIR 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.
Guillem Jover <guillem@hadrons.org> no 2020-04-12
0010-build-Do-not-use-Werror-by-default.patch [PATCH libaio 10/11] build: Do not use -Werror by default
Using -Werror on a released project is in general not a good idea, as
changes in the toolchain and environment can trigger unexpected build
failures.
Guillem Jover <guillem@hadrons.org> no 2020-04-12
0011-build-Honour-user-build-flags.patch [PATCH libaio 11/11] build: Honour user build flags
CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve.
Any required flag that the build system needs, has to be set in some
other flag so that the build will succeed even if the user flags are
passed.
Guillem Jover <guillem@hadrons.org> no 2020-04-12
0001-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch [PATCH libaio] 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> no 2019-08-16

All known versions for source package 'libaio'

Links