From 371d155b660472883fb28d0ff8a2e0815295d071 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jun 25 2015 13:25:28 +0000 Subject: import libaio-0.3.109-13.aa7a --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e36ca67 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libaio-0.3.109.tar.gz diff --git a/.libaio.metadata b/.libaio.metadata new file mode 100644 index 0000000..118ef7d --- /dev/null +++ b/.libaio.metadata @@ -0,0 +1 @@ +a7abbfe6fb8639a8611fd7cfe383f9e07cf51148 SOURCES/libaio-0.3.109.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/libaio-add-arm64-support.patch b/SOURCES/libaio-add-arm64-support.patch new file mode 100644 index 0000000..5b4184e --- /dev/null +++ b/SOURCES/libaio-add-arm64-support.patch @@ -0,0 +1,137 @@ +diff -up libaio-0.3.109/src/libaio.h.orig libaio-0.3.109/src/libaio.h +--- libaio-0.3.109/src/libaio.h.orig 2009-10-09 14:17:02.000000000 -0400 ++++ libaio-0.3.109/src/libaio.h 2014-03-13 10:22:47.062638753 -0400 +@@ -83,6 +83,16 @@ typedef enum io_iocb_cmd { + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y + # endif ++#elif defined(__aarch64__) ++# if defined (__AARCH64EB__) /* 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(__AARCH64EL__) /* little endian, 64 bits */ ++#define PADDED(x, y) x, y ++#define PADDEDptr(x, y) x ++#define PADDEDul(x, y) unsigned long x ++# endif + #else + #error endian? + #endif +diff -up libaio-0.3.109/src/syscall-arm64.h.orig libaio-0.3.109/src/syscall-arm64.h +--- libaio-0.3.109/src/syscall-arm64.h.orig 2014-03-13 10:21:16.090895733 -0400 ++++ libaio-0.3.109/src/syscall-arm64.h 2014-03-13 10:21:16.090895733 -0400 +@@ -0,0 +1,101 @@ ++/* ++ * linux/include/asm-arm/unistd.h ++ * ++ * Copyright (C) 2001-2005 Russell King ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * Please forward _all_ changes to this file to rmk@arm.linux.org.uk, ++ * no matter what the change is. Thanks! ++ */ ++ ++#define __NR_io_setup 0 ++#define __NR_io_destroy 1 ++#define __NR_io_submit 2 ++#define __NR_io_cancel 3 ++#define __NR_io_getevents 4 ++ ++#define __sys2(x) #x ++#define __sys1(x) __sys2(x) ++ ++#define __SYS_REG(name) register long __sysreg __asm__("w8") = __NR_##name; ++#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs ++#define __syscall(name) "svc\t#0" ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) { \ ++ __SYS_REG(sname) \ ++ register long __x0 __asm__("x0") = (long)arg1; \ ++ register long __res_x0 __asm__("x0"); \ ++ __asm__ __volatile__ ( \ ++ __syscall(sname) \ ++ : "=r" (__res_x0) \ ++ : __SYS_REG_LIST( "0" (__x0) ) \ ++ : "memory" ); \ ++ return (type) __res_x0; \ ++} ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) { \ ++ __SYS_REG(sname) \ ++ register long __x0 __asm__("x0") = (long)arg1; \ ++ register long __x1 __asm__("x1") = (long)arg2; \ ++ register long __res_x0 __asm__("x0"); \ ++ __asm__ __volatile__ ( \ ++ __syscall(sname) \ ++ : "=r" (__res_x0) \ ++ : __SYS_REG_LIST( "0" (__x0), "r" (__x1) ) \ ++ : "memory" ); \ ++ return (type) __res_x0; \ ++} ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) { \ ++ __SYS_REG(sname) \ ++ register long __x0 __asm__("x0") = (long)arg1; \ ++ register long __x1 __asm__("x1") = (long)arg2; \ ++ register long __x2 __asm__("x2") = (long)arg3; \ ++ register long __res_x0 __asm__("x0"); \ ++ __asm__ __volatile__ ( \ ++ __syscall(sname) \ ++ : "=r" (__res_x0) \ ++ : __SYS_REG_LIST( "0" (__x0), "r" (__x1), "r" (__x2) ) \ ++ : "memory" ); \ ++ return (type) __res_x0; \ ++} ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \ ++ __SYS_REG(sname) \ ++ register long __x0 __asm__("x0") = (long)arg1; \ ++ register long __x1 __asm__("x1") = (long)arg2; \ ++ register long __x2 __asm__("x2") = (long)arg3; \ ++ register long __x3 __asm__("x3") = (long)arg4; \ ++ register long __res_x0 __asm__("x0"); \ ++ __asm__ __volatile__ ( \ ++ __syscall(sname) \ ++ : "=r" (__res_x0) \ ++ : __SYS_REG_LIST( "0" (__x0), "r" (__x1), "r" (__x2), "r" (__x3) ) \ ++ : "memory" ); \ ++ return (type) __res_x0; \ ++} ++ ++#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) {\ ++ __SYS_REG(sname) \ ++ register long __x0 __asm__("x0") = (long)arg1; \ ++ register long __x1 __asm__("x1") = (long)arg2; \ ++ register long __x2 __asm__("x2") = (long)arg3; \ ++ register long __x3 __asm__("x3") = (long)arg4; \ ++ register long __x4 __asm__("x4") = (long)arg5; \ ++ register long __res_x0 __asm__("x0"); \ ++ __asm__ __volatile__ ( \ ++ __syscall(sname) \ ++ : "=r" (__res_x0) \ ++ : __SYS_REG_LIST( "0" (__x0), "r" (__x1), "r" (__x2), \ ++ "r" (__x3), "r" (__x4) ) \ ++ : "memory" ); \ ++ return (type) __res_x0; \ ++} +diff -up libaio-0.3.109/src/syscall.h.orig libaio-0.3.109/src/syscall.h +--- libaio-0.3.109/src/syscall.h.orig 2009-10-09 14:17:02.000000000 -0400 ++++ libaio-0.3.109/src/syscall.h 2014-03-13 10:23:14.039452006 -0400 +@@ -24,6 +24,8 @@ + #include "syscall-alpha.h" + #elif defined(__arm__) + #include "syscall-arm.h" ++#elif defined(__aarch64__) ++#include "syscall-arm64.h" + #else + #error "add syscall-arch.h" + #endif diff --git a/SOURCES/libaio-arm64-fix-test-case-16.patch b/SOURCES/libaio-arm64-fix-test-case-16.patch new file mode 100644 index 0000000..8afdb3b --- /dev/null +++ b/SOURCES/libaio-arm64-fix-test-case-16.patch @@ -0,0 +1,28 @@ +diff -up libaio-0.3.109/harness/cases/16.t.orig libaio-0.3.109/harness/cases/16.t +--- libaio-0.3.109/harness/cases/16.t.orig 2009-10-09 14:17:02.000000000 -0400 ++++ libaio-0.3.109/harness/cases/16.t 2014-03-13 10:36:34.221544281 -0400 +@@ -18,6 +18,12 @@ + #define SYS_eventfd 318 + #elif defined(__alpha__) + #define SYS_eventfd 478 ++#elif defined(__aarch64__) ++/* arm64 does not implement eventfd, only eventfd2 */ ++#define USE_EVENTFD2 ++#ifndef SYS_eventfd2 ++#define SYS_eventfd2 19 ++#endif /* __aarch64__ */ + #else + #error define SYS_eventfd for your arch! + #endif +@@ -39,7 +45,11 @@ int test_main(void) + struct timespec notime = { .tv_sec = 0, .tv_nsec = 0 }; + + buf = malloc(SIZE); assert(buf); ++#ifndef USE_EVENTFD2 + efd = syscall(SYS_eventfd, 0); ++#else ++ efd = syscall(SYS_eventfd2, 0, 0); ++#endif + if (efd < 0) { + if (errno == ENOSYS) { + printf("No eventfd support. [SKIPPING]\n"); diff --git a/SOURCES/libaio-install-to-slash.patch b/SOURCES/libaio-install-to-slash.patch new file mode 100644 index 0000000..9753fa2 --- /dev/null +++ b/SOURCES/libaio-install-to-slash.patch @@ -0,0 +1,30 @@ +diff -up libaio-0.3.109/src/Makefile.orig libaio-0.3.109/src/Makefile +--- libaio-0.3.109/src/Makefile.orig 2009-10-09 14:17:02.000000000 -0400 ++++ libaio-0.3.109/src/Makefile 2014-03-10 17:12:39.167190155 -0400 +@@ -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 + diff --git a/SPECS/libaio.spec b/SPECS/libaio.spec new file mode 100644 index 0000000..b58e7a7 --- /dev/null +++ b/SPECS/libaio.spec @@ -0,0 +1,296 @@ +Name: libaio +Version: 0.3.109 +Release: 13%{?dist} +Summary: Linux-native asynchronous I/O access library +License: LGPLv2+ +Group: System Environment/Libraries +Source: http://git.fedorahosted.org/cgit/libaio.git/snapshot/%{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-root +Patch1: libaio-install-to-slash.patch +Patch2: libaio-add-arm64-support.patch +Patch3: libaio-arm64-fix-test-case-16.patch + +%description +The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a +richer API and capability set than the simple POSIX async I/O facility. +This library, libaio, provides the Linux-native API for async I/O. +The POSIX async I/O facility requires this library in order to provide +kernel-accelerated async I/O capabilities, as do applications which +require the Linux-native async I/O API. + +%define libdir /%{_lib} +%define usrlibdir %{_prefix}/%{_lib} + +%package devel +Summary: Development files for Linux-native asynchronous I/O access +Group: Development/System +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package provides header files to include and libraries to link with +for the Linux-native asynchronous I/O facility ("async I/O", or "aio"). + +%prep +%setup -a 0 +%patch1 -p1 -b .install-to-slash +%patch2 -p0 -b .add-arm64-support +%patch2 -p1 -b .add-arm64-support +%patch3 -p0 -b .arm64-fix-testcase-16 +%patch3 -p1 -b .arm64-fix-testcase-16 +mv %{name}-%{version} compat-%{name}-%{version} + +%build +# A library with a soname of 1.0.0 was inadvertantly released. This +# build process builds a version of the library with the broken soname in +# the compat-libaio-0.3.103 directory, and then builds the library again +# with the correct soname. +cd compat-%{name}-%{version} +make soname='libaio.so.1.0.0' libname='libaio.so.1.0.0' +cd .. +make + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +cd compat-%{name}-%{version} +install -D -m 755 src/libaio.so.1.0.0 \ + $RPM_BUILD_ROOT/%{libdir}/libaio.so.1.0.0 +cd .. +make destdir=$RPM_BUILD_ROOT prefix=/ libdir=%{libdir} usrlibdir=%{usrlibdir} \ + includedir=%{_includedir} install + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%attr(0755,root,root) %{libdir}/libaio.so.* +%doc COPYING TODO + +%files devel +%defattr(-,root,root) +%attr(0644,root,root) %{_includedir}/* +%attr(0755,root,root) %{usrlibdir}/libaio.so* +%exclude %{_libdir}/libaio.a + +%changelog +* Fri Aug 29 2014 Jeff Moyer 0.3.109-13 +- Merge aarch64 branch into the main tree +- Resolves: bz#1026429 + +* Thu Mar 13 2014 Jeff Moyer - 0.3.109-12.2 +- Get rid of sparc support (we don't build it) (Jeff Moyer) +- Implement proper support for aarch64 (Jeff Moyer) +- Resolves: bz#1026429 + +* Tue Feb 4 2014 Brendan Conoboy - 0.3.109-12.1 +- Marcin's initial aarch64 compatibility patch. + +* Fri Jan 24 2014 Daniel Mach - 0.3.109-12 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 0.3.109-11 +- Mass rebuild 2013-12-27 + +* Mon Dec 2 2013 Jeff Moyer - 0.3.109-10 +- Un-revert the RHEL-specific changes. (Jeff Moyer) +- Make devel sub-package depend on specific ver-rel (Jeff Moyer) +- Resolves: bz#905462 + +* Tue Nov 13 2012 Jeff Moyer - 0.3.109-8 +- Change the source location to the new upstream on fedorahosted +- import a new tarball from the new source + +* Thu Jul 19 2012 Fedora Release Engineering - 0.3.109-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0.3.109-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Apr 04 2011 Dennis Gilmore - 0.3.109-4 +-patch in sparc support + +* Mon Feb 07 2011 Fedora Release Engineering - 0.3.109-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 19 2010 Jeff Moyer - 0.3.109-2 +- Get rid of the static library. (Bug 556059) + +* Fri Oct 9 2009 Jeff Moyer - 0.3.109-1 +- Pull in upstream .109 to get ARM architecture support. +- Remove the broken sparc patch; it should go upstream first. + +* Fri Jul 24 2009 Fedora Release Engineering - 0.3.107-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 0.3.107-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jan 20 2009 Jeff Moyer - 0.3.107-7 +- Fix the install to / patch. + +* Wed Oct 01 2008 Dennis Gilmore - 0.3.107-6 +- add patch with sparc support + +* Wed Oct 01 2008 Dennis Gilmore - 0.3.107-5 +- remove ExclusiveArch line + +* Wed Sep 3 2008 Jeff Moyer - 0.3.107-4 +- Install to / instead of /usr for early users of libaio (Jeff Moyer) +- Resolves: bz#459158 + +* Tue Aug 5 2008 Tom "spot" Callaway - 0.3.107-3 +- fix license tag + +* Thu Jun 05 2008 Jeff Moyer - 0.3.107-2 +- Update to the latest upstream which adds eventfd support and fixes broken + test cases. (Rusty Russell) + +* Tue Feb 19 2008 Fedora Release Engineering - 0.3.106-4.2 +- Autorebuild for GCC 4.3 + +* Mon Jul 17 2006 Jeff Moyer - 0.3.106-3.2 +- rebuild + +* Wed Jul 12 2006 Jesse Keating - 0.3.106-3.1 +- rebuild + +* Wed Jun 7 2006 Jeremy Katz - 0.3.106-3 +- rebuild for -devel deps + +* Fri Feb 10 2006 Jesse Keating - 0.3.106-2.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 0.3.106-2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Wed Jan 04 2006 Jeff Moyer - 0.3.106-2 +- Update to the latest sources, which contain the following change: + Add a .proc directive for the ia64_aio_raw_syscall macro. This sounds a lot + like the previous entry, but that one fixed the __ia64_raw_syscall macro, + located in syscall-ia64.h. This macro is in raw_syscall.c, which pretty much + only exists for ia64. This bug prevented the package from building with + newer version of gcc. + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Apr 1 2005 Jeff Moyer - 0.3.104-2 +- Add Alpha architecture support. (Sergey Tikhonov ) + +* Wed Mar 16 2005 Jeff Moyer - 0.3.103-6 +- Rebuild with gcc 4. + +* Mon Feb 14 2005 Jeff Moyer - 0.3.103-4 +- Build the library twice. Once with the old SONAME and once with the new + one. This fixes the wrong SONAME problem by keeping a library around with + the wrong name (libaio.so.1.0.0) and generating a new one (libaio.so.1.0.1). + +* Thu Oct 14 2004 Jeff Moyer - 0.3.102-1 +- update to 102. Fixes build errors on s390: + - S390 asm had a bug; I forgot to update the clobber list. Lucky for me, + newer compilers complain about such things. + - Also update the s390 asm to look more like the new kernel variants. + +* Wed Oct 13 2004 Jeff Moyer - 0.3.101-1 +- update to 101. Fixes bz 133253 - libaio backwards compatibility severely + broken. + +* Tue Sep 14 2004 Jeff Moyer - 0.3.100-1 +- update to 100. Fixes bz 129910. Add pseries and iseries to + exclusivearch. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 30 2004 Jeff Moyer - 0.3.99-2 +- Apparently the 0.3.93 patch was not meant for 0.3.96. Backed it out. + +* Tue Mar 30 2004 Jeff Moyer - 0.3.99-1 +- Fix compat calls. +- make library .so.1.0.0 and make symlinks properly. +- Fix header file for inclusion in c++ code. + +* Thu Feb 26 2004 Jeff Moyer 0.3.98-2 +- bah. fix version nr in changelog. + +* Thu Feb 26 2004 Jeff Moyer 0.3.98-1 +- fix compiler warnings. + +* Thu Feb 26 2004 Jeff Moyer 0.3.97-2 +- make srpm was using rpm to do a build. changed that to use rpmbuild if + it exists, and fallback to rpm if it doesn't. + +* Tue Feb 24 2004 Jeff Moyer 0.3.97-1 +- Use libc syscall(2) instead of rolling our own calling mechanism. This + change is inspired due to a failure to build with newer gcc, since clobber + lists were wrong. +- Add -fpic to the CFLAGS for all architectures. Should address bz #109457. +- change a #include from to . Fixes a build + issue on s390. + +* Wed Jul 7 2003 Bill Nottingham 0.3.96-3 +- fix paths on lib64 arches + +* Wed Jun 18 2003 Michael K. Johnson 0.3.96-2 +- optimization in io_getevents from Arjan van de Ven in 0.3.96-1 +- deal with ia64 in 0.3.96-2 + +* Wed May 28 2003 Michael K. Johnson 0.3.95-1 +- ppc bugfix from Julie DeWandel + +* Tue May 20 2003 Michael K. Johnson 0.3.94-1 +- symbol versioning fix from Ulrich Drepper + +* Mon Jan 27 2003 Benjamin LaHaise +- bump to 0.3.93-3 for rebuild. + +* Mon Dec 16 2002 Benjamin LaHaise +- libaio 0.3.93 test release +- add powerpc support from Gianni Tedesco +- add s/390 support from Arnd Bergmann + +* Fri Sep 12 2002 Benjamin LaHaise +- libaio 0.3.92 test release +- build on x86-64 + +* Thu Sep 12 2002 Benjamin LaHaise +- libaio 0.3.91 test release +- build on ia64 +- remove libredhat-kernel from the .spec file + +* Thu Sep 5 2002 Benjamin LaHaise +- libaio 0.3.90 test release + +* Mon Apr 29 2002 Benjamin LaHaise +- add requires initscripts >= 6.47-1 to get boot time libredhat-kernel + linkage correct. +- typo fix + +* Thu Apr 25 2002 Benjamin LaHaise +- make /usr/lib/libredhat-kernel.so point to /lib/libredhat-kernel.so.1.0.0 + +* Mon Apr 15 2002 Tim Powers +- make the post scriptlet not use /bin/sh + +* Sat Apr 12 2002 Benjamin LaHaise +- add /lib/libredhat-kernel* to %files. + +* Fri Apr 12 2002 Benjamin LaHaise +- make the dummy install as /lib/libredhat-kernel.so.1.0.0 so + that ldconfig will link against it if no other is installed. + +* Tue Jan 22 2002 Benjamin LaHaise +- add io_getevents + +* Tue Jan 22 2002 Michael K. Johnson +- Make linker happy with /usr/lib symlink for libredhat-kernel.so + +* Mon Jan 21 2002 Michael K. Johnson +- Added stub library + +* Sun Jan 20 2002 Michael K. Johnson +- Initial packaging