about summary refs log tree commit diff
path: root/rt/lio_listio64.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-06-25 10:30:36 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-06-25 12:19:57 +0200
commit3353a5a4cfcdc6ef58e1ec036bd3f47ebcc16f3c (patch)
treee7995b410bd72d8e5a156868f4a3f514bf44923a /rt/lio_listio64.c
parent496919b12f2dc0733e215cc2f08266474c87719e (diff)
downloadglibc-3353a5a4cfcdc6ef58e1ec036bd3f47ebcc16f3c.tar.gz
glibc-3353a5a4cfcdc6ef58e1ec036bd3f47ebcc16f3c.tar.xz
glibc-3353a5a4cfcdc6ef58e1ec036bd3f47ebcc16f3c.zip
rt: Rework lio_listio implementation
Move the common code into rt/lio_listio-common.c and include
the file in both rt/lio_listio.c and rt/lio_listio64.c.  The common
code automatically defines both public symbols for __WORDSIZE == 64.

Reviewed-by: Adhemerva Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'rt/lio_listio64.c')
-rw-r--r--rt/lio_listio64.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/rt/lio_listio64.c b/rt/lio_listio64.c
index 111c883a2f..c9818c34e3 100644
--- a/rt/lio_listio64.c
+++ b/rt/lio_listio64.c
@@ -1,7 +1,6 @@
-/* Enqueue and list of read or write requests, 64bit offset version.
-   Copyright (C) 1997-2021 Free Software Foundation, Inc.
+/* Enqueue and list of read or write requests.
+   Copyright (C) 2021 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,17 +16,13 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <aio.h>
-#include <assert.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
+#include <bits/wordsize.h>
+#if __WORDSIZE != 64
+# define AIOCB aiocb64
+# define LIO_LISTIO lio_listio64
+# define LIO_LISTIO_OLD __lio_listio64_21
+# define LIO_LISTIO_NEW __lio_listio64_24
+# define LIO_OPCODE_BASE 128
 
-#include <aio_misc.h>
-
-#define lio_listio lio_listio64
-#define __lio_listio_21 __lio_listio64_21
-#define __lio_listio_item_notify __lio_listio64_item_notify
-#define aiocb aiocb64
-#define LIO_OPCODE_BASE 128
-#include <lio_listio.c>
+# include <rt/lio_listio-common.c>
+#endif