libaio 0.3.112 and move to core

This commit is contained in:
idriskalp
2019-12-27 12:41:46 +03:00
parent 1899dc49fa
commit fec5713bf2
11 changed files with 462 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
def build():
pisitools.dosed("src/Makefile", "=-shared", r"= -Wl,-O1,--as-needed -shared")
if get.buildTYPE() == "emul32":
pisitools.dosed(".", "\/lib$", r"/lib%s\n" % "32" if get.buildTYPE() == "emul32" else "", filePattern="Makefile")
autotools.make()
#def check():
#shelltools.cd("harness")
#pisitools.dodir("testdir")
#autotools.make("check prefix=../src libdir=../src")
def install():
if get.buildTYPE() == "emul32":
autotools.rawInstall("prefix=%s/usr \
includedir=%s/usr/include \
libdir%s/=usr/lib32 " % ((get.installDIR(), ) * 3))
pisitools.remove("/usr/lib32/libaio.a")
else:
autotools.rawInstall("prefix=%s/usr \
includedir=%s/usr/include \
libdir%s/=usr/lib " % ((get.installDIR(), ) * 3))
#pisitools.remove("/usr/lib/libaio.a")
pisitools.dodoc("ChangeLog", "COPYING", "TODO")
+44
View File
@@ -0,0 +1,44 @@
Index: b/harness/cases/12.t
===================================================================
--- a/harness/cases/12.t
+++ b/harness/cases/12.t
@@ -18,7 +18,7 @@
int test_main(void)
{
- int res, status;
+ int status;
pid_t pid;
sigset_t set;
@@ -35,7 +35,7 @@
if (pid == 0)
test_child();
- res = waitpid(pid, &status, 0);
+ waitpid(pid, &status, 0);
if (WIFEXITED(status)) {
int failed = (WEXITSTATUS(status) != 0);
Index: b/harness/cases/14.t
===================================================================
--- a/harness/cases/14.t
+++ b/harness/cases/14.t
@@ -59,7 +59,7 @@
/* from 12.t */
int test_main(void)
{
- int res, status;
+ int status;
pid_t pid;
sigset_t set;
@@ -75,7 +75,7 @@
if (pid == 0)
test_child();
- res = waitpid(pid, &status, 0);
+ waitpid(pid, &status, 0);
if (WIFEXITED(status)) {
int failed = (WEXITSTATUS(status) != 0);
+26
View File
@@ -0,0 +1,26 @@
--- src/Makefile.orig 2006-07-09 19:46:41.000000000 -0700
+++ src/Makefile 2006-07-09 19:51:00.000000000 -0700
@@ -2,11 +2,10 @@
includedir=$(prefix)/include
libdir=$(prefix)/lib
-ARCH := $(shell uname -m | sed -e s/i.86/i386/)
-CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC
-SO_CFLAGS=-shared $(CFLAGS)
+CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
+SO_CFLAGS=-shared $(CFLAGS)
L_CFLAGS=$(CFLAGS)
-LINK_FLAGS=
+LINK_FLAGS=-lgcc -lrt $(LDFLAGS)
soname=libaio.so.1
minor=0
@@ -48,7 +47,7 @@
ranlib libaio.a
$(libname): $(libaio_sobjs) libaio.map
- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
+ $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
install: $(all_targets)
install -D -m 644 libaio.h $(includedir)/libaio.h
+17
View File
@@ -0,0 +1,17 @@
--- a/src/Makefile
+++ b/src/Makefile
@@ -42,10 +42,12 @@
$(CC) $(L_CFLAGS) -c -o $@ $<
+AR ?= ar
+RANLIB ?= ranlib
libaio.a: $(libaio_objs)
rm -f libaio.a
- ar r libaio.a $^
- ranlib libaio.a
+ $(AR) r libaio.a $^
+ $(RANLIB) libaio.a
$(libname): $(libaio_sobjs) libaio.map
$(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
+62
View File
@@ -0,0 +1,62 @@
From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Sun, 17 Jan 2010 17:07:48 -0500
Subject: [PATCH] add a generic syscall() fallback
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
src/syscall-generic.h | 29 +++++++++++++++++++++++++++++
src/syscall.h | 3 ++-
2 files changed, 31 insertions(+), 1 deletions(-)
create mode 100644 src/syscall-generic.h
diff --git a/src/syscall-generic.h b/src/syscall-generic.h
new file mode 100644
index 0000000..24d7c7c
--- /dev/null
+++ b/src/syscall-generic.h
@@ -0,0 +1,29 @@
+#include <errno.h>
+#include <unistd.h>
+#include <sys/syscall.h>
+
+#define _body_io_syscall(sname, args...) \
+{ \
+ int ret = syscall(__NR_##sname, ## args); \
+ return ret < 0 ? -errno : ret; \
+}
+
+#define io_syscall1(type,fname,sname,type1,arg1) \
+type fname(type1 arg1) \
+_body_io_syscall(sname, (long)arg1)
+
+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
+type fname(type1 arg1,type2 arg2) \
+_body_io_syscall(sname, (long)arg1, (long)arg2)
+
+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
+type fname(type1 arg1,type2 arg2,type3 arg3) \
+_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3)
+
+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
+type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
+_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4)
+
+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \
+type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
+_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5)
diff --git a/src/syscall.h b/src/syscall.h
index 78becfe..d954af0 100644
--- a/src/syscall.h
+++ b/src/syscall.h
@@ -25,5 +25,6 @@
#elif defined(__arm__)
#include "syscall-arm.h"
#else
-#error "add syscall-arch.h"
+#warning "using generic syscall method"
+#include "syscall-generic.h"
#endif
--
1.7.3.1
+19
View File
@@ -0,0 +1,19 @@
Do not ignore return value of ftruncate(): testcases are compiled with -Werror,
and ftruncate is declared with attribute warn_unused_result.
--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100
+++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100
@@ -9,12 +9,13 @@
{
long long min = 0, max = 9223372036854775807LL;
char c = 0;
+ int ret;
while (max - min > 1) {
if (pwrite64(fd, &c, 1, (min + max) / 2) == -1)
max = (min + max) / 2;
else {
- ftruncate(fd, 0);
+ ret = ftruncate(fd, 0); assert(ret == 0);
min = (min + max) / 2;
}
}
@@ -0,0 +1,60 @@
diff --git a/src/libaio.h b/src/libaio.h
index ffe8259..4a6c9fb 100644
--- a/src/libaio.h
+++ b/src/libaio.h
@@ -49,40 +49,34 @@ typedef enum io_iocb_cmd {
IO_CMD_PWRITEV = 8,
} io_iocb_cmd_t;
-#if defined(__i386__) /* little endian, 32 bits */
+/* little endian, 32 bits */
+#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \
+ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__)
#define PADDED(x, y) x; unsigned y
#define PADDEDptr(x, y) x; unsigned y
#define PADDEDul(x, y) unsigned long x; unsigned y
+
+/* little endian, 64 bits */
#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__)
#define PADDED(x, y) x, y
#define PADDEDptr(x, y) x
#define PADDEDul(x, y) unsigned long x
-#elif defined(__powerpc64__) /* big endian, 64 bits */
-#define PADDED(x, y) unsigned y; x
-#define PADDEDptr(x,y) x
-#define PADDEDul(x, y) unsigned long x
-#elif defined(__PPC__) /* big endian, 32 bits */
-#define PADDED(x, y) unsigned y; x
-#define PADDEDptr(x, y) unsigned y; x
-#define PADDEDul(x, y) unsigned y; unsigned long x
-#elif defined(__s390x__) /* big endian, 64 bits */
+
+/* big endian, 64 bits */
+#elif defined(__powerpc64__) || defined(__s390x__) || \
+ (defined(__sparc__) && defined(__arch64__))
#define PADDED(x, y) unsigned y; x
#define PADDEDptr(x,y) x
#define PADDEDul(x, y) unsigned long x
-#elif defined(__s390__) /* big endian, 32 bits */
-#define PADDED(x, y) unsigned y; x
-#define PADDEDptr(x, y) unsigned y; x
-#define PADDEDul(x, y) unsigned y; unsigned long x
-#elif defined(__arm__)
-# if defined (__ARMEB__) /* big endian, 32 bits */
+
+/* big endian, 32 bits */
+#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \
+ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \
+ defined(__hppa__) || defined(__frv__) || defined(__avr32__)
#define PADDED(x, y) unsigned y; x
#define PADDEDptr(x, y) unsigned y; x
#define PADDEDul(x, y) unsigned y; unsigned long x
-# else /* little endian, 32 bits */
-#define PADDED(x, y) x; unsigned y
-#define PADDEDptr(x, y) x; unsigned y
-#define PADDEDul(x, y) unsigned long x; unsigned y
-# endif
+
#else
#error endian?
#endif
+63
View File
@@ -0,0 +1,63 @@
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826
Upstream-Status: Pending
Properly load arguments 5 an 6 for x86-64 syscall
Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
syscall so that it works with both x32 and x86-64.
Received this patch from H.J. Lu <hjl.tools@gmail.com>
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2011/12/02
--- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700
+++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800
@@ -1,8 +1,18 @@
+#ifndef __NR_io_setup
#define __NR_io_setup 206
+#endif
+#ifndef __NR_io_destroy
#define __NR_io_destroy 207
+#endif
+#ifndef __NR_io_getevents
#define __NR_io_getevents 208
+#endif
+#ifndef __NR_io_submit
#define __NR_io_submit 209
+#endif
+#ifndef __NR_io_cancel
#define __NR_io_cancel 210
+#endif
#define __syscall_clobber "r11","rcx","memory"
#define __syscall "syscall"
@@ -42,10 +52,11 @@ return __res; \
type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
{ \
long __res; \
-__asm__ volatile ("movq %5,%%r10 ;" __syscall \
+register long __a4 asm ("r10") = (long) arg4; \
+__asm__ volatile (__syscall \
: "=a" (__res) \
: "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
+ "d" ((long)(arg3)),"r" (__a4)); \
return __res; \
}
@@ -54,10 +65,11 @@ return __res; \
type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
{ \
long __res; \
-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \
+register long __a4 asm ("r10") = (long) arg4; \
+register long __a5 asm ("r8") = (long) arg5; \
+__asm__ volatile ( __syscall \
: "=a" (__res) \
: "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \
- __syscall_clobber,"r8","r10" ); \
+ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \
return __res; \
}
+30
View File
@@ -0,0 +1,30 @@
diff -up libaio-0.3.107/src/Makefile.orig libaio-0.3.107/src/Makefile
--- libaio-0.3.107/src/Makefile.orig 2009-01-20 10:07:31.520105235 -0500
+++ libaio-0.3.107/src/Makefile 2009-01-20 10:08:51.199104930 -0500
@@ -1,6 +1,7 @@
prefix=/usr
-includedir=$(prefix)/include
-libdir=$(prefix)/lib
+includedir=/usr/include
+libdir=/usr/lib
+usrlibdir=/usr/lib
ARCH := $(shell uname -m | sed -e s/i.86/i386/)
CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC
@@ -51,11 +52,11 @@ $(libname): $(libaio_sobjs) libaio.map
$(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
install: $(all_targets)
- install -D -m 644 libaio.h $(includedir)/libaio.h
- install -D -m 644 libaio.a $(libdir)/libaio.a
- install -D -m 755 $(libname) $(libdir)/$(libname)
- ln -sf $(libname) $(libdir)/$(soname)
- ln -sf $(libname) $(libdir)/libaio.so
+ install -D -m 644 libaio.h $(destdir)$(includedir)/libaio.h
+ install -D -m 644 libaio.a $(destdir)$(usrlibdir)/libaio.a
+ install -D -m 755 $(libname) $(destdir)$(libdir)/$(libname)
+ ln -sf $(libdir)/$(libname) $(destdir)$(libdir)/$(soname)
+ ln -sf $(libdir)/$(libname) $(destdir)$(usrlibdir)/libaio.so
$(libaio_objs): libaio.h
+90
View File
@@ -0,0 +1,90 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>libaio</Name>
<Homepage>http://lse.sourceforge.net/io/aio.html</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2.1</License>
<IsA>library</IsA>
<Summary>Linux-native asynchronous I/O access library</Summary>
<Description>libaio has a richer API and capability set than the simple POSIX async I/O facility.</Description>
<Archive sha1sum="17a9b82fe715551f3157591467421406716b8f91" type="tarxz">http://ftp.de.debian.org/debian/pool/main/liba/libaio/libaio_0.3.112.orig.tar.xz</Archive>
</Source>
<Package>
<Name>libaio</Name>
<Files>
<Path fileType="library">/lib</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<Package>
<Name>libaio-32bit</Name>
<PartOf>emul32</PartOf>
<Summary>32-bit shared libraries for libaio</Summary>
<BuildType>emul32</BuildType>
<RuntimeDependencies>
<Dependency release="current">libaio</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib32</Path>
</Files>
</Package>
<Package>
<Name>libaio-devel</Name>
<Summary>Development files for libaio</Summary>
<RuntimeDependencies>
<Dependency release="current">libaio</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<!-- FIXME: Remove this if not necessary -->
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="5">
<Date>2019-12-26</Date>
<Version>0.3.112</Version>
<Comment>Version bump for new lvm2</Comment>
<Name>Kamil Atlı</Name>
<Email>suvari@pisilinux.org</Email>
</Update>
<Update release="4">
<Date>2018-08-06</Date>
<Version>0.3.110</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="3">
<Date>2017-02-28</Date>
<Version>0.3.110</Version>
<Comment>Version Bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="2">
<Date>2016-06-09</Date>
<Version>0.3.109</Version>
<Comment>Release Bump</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2014-05-19</Date>
<Version>0.3.109</Version>
<Comment>First release</Comment>
<Name>Alihan Öztürk</Name>
<Email>alihan@pisilinux.org</Email>
</Update>
</History>
</PISI>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>libaio</Name>
<Summary xml:lang="tr">Linux asenkron girdi/çıktı kütüphanesi</Summary>
<Description xml:lang="tr">libaio, basit POSIX asenkron girdi/çıktı desteğinden daha iyi bir programlama arayüzü sunan bir kütüphanedir.</Description>
<Summary xml:lang="fr">Librairie d'entrée/sortie asynchrone utilisant l'interface native du noyau.</Summary>
</Source>
<Package>
<Name>libaio-devel</Name>
<Summary xml:lang="tr">libaio için geliştirme dosyaları</Summary>
</Package>
</PISI>