libaio: Upgrade to 0.3.110
Remove old patches and rebase existing ones Add libc for x86 for stack-protector bounce function (__stack_chk_fail_local) (From OE-Core rev: 8017bfdaca1cdaa8bfd9178063967ec89a58be06) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
85326e2baa
commit
bbd5fe680e
|
@ -2,10 +2,10 @@ Upstream-Status: Inappropriate [embedded specific]
|
|||
|
||||
from openembedded, added by Qing He <qing.he@intel.com>
|
||||
|
||||
Index: libaio-0.3.109/src/syscall-m68k.h
|
||||
Index: libaio-0.3.110/src/syscall-m68k.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.109/src/syscall-m68k.h
|
||||
+++ libaio-0.3.110/src/syscall-m68k.h
|
||||
@@ -0,0 +1,78 @@
|
||||
+#define __NR_io_setup 241
|
||||
+#define __NR_io_destroy 242
|
||||
|
@ -85,164 +85,27 @@ Index: libaio-0.3.109/src/syscall-m68k.h
|
|||
+return (type) __res; \
|
||||
+}
|
||||
+
|
||||
Index: libaio-0.3.109/src/syscall-sparc.h
|
||||
Index: libaio-0.3.110/src/syscall.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.109/src/syscall-sparc.h
|
||||
@@ -0,0 +1,130 @@
|
||||
+/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */
|
||||
+
|
||||
+/*
|
||||
+ * System calls under the Sparc.
|
||||
+ *
|
||||
+ * Don't be scared by the ugly clobbers, it is the only way I can
|
||||
+ * think of right now to force the arguments into fixed registers
|
||||
+ * before the trap into the system call with gcc 'asm' statements.
|
||||
+ *
|
||||
+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
+ *
|
||||
+ * SunOS compatibility based upon preliminary work which is:
|
||||
+ *
|
||||
+ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+#define __NR_io_setup 268
|
||||
+#define __NR_io_destroy 269
|
||||
+#define __NR_io_submit 270
|
||||
+#define __NR_io_cancel 271
|
||||
+#define __NR_io_getevents 272
|
||||
+
|
||||
+
|
||||
+#define io_syscall1(type,fname,sname,type1,arg1) \
|
||||
+type fname(type1 arg1) \
|
||||
+{ \
|
||||
+long __res; \
|
||||
+register long __g1 __asm__ ("g1") = __NR_##sname; \
|
||||
+register long __o0 __asm__ ("o0") = (long)(arg1); \
|
||||
+__asm__ __volatile__ ("t 0x10\n\t" \
|
||||
+ "bcc 1f\n\t" \
|
||||
+ "mov %%o0, %0\n\t" \
|
||||
+ "sub %%g0, %%o0, %0\n\t" \
|
||||
+ "1:\n\t" \
|
||||
+ : "=r" (__res), "=&r" (__o0) \
|
||||
+ : "1" (__o0), "r" (__g1) \
|
||||
+ : "cc"); \
|
||||
+if (__res < -255 || __res >= 0) \
|
||||
+ return (type) __res; \
|
||||
+return -1; \
|
||||
+}
|
||||
+
|
||||
+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
|
||||
+type fname(type1 arg1,type2 arg2) \
|
||||
+{ \
|
||||
+long __res; \
|
||||
+register long __g1 __asm__ ("g1") = __NR_##sname; \
|
||||
+register long __o0 __asm__ ("o0") = (long)(arg1); \
|
||||
+register long __o1 __asm__ ("o1") = (long)(arg2); \
|
||||
+__asm__ __volatile__ ("t 0x10\n\t" \
|
||||
+ "bcc 1f\n\t" \
|
||||
+ "mov %%o0, %0\n\t" \
|
||||
+ "sub %%g0, %%o0, %0\n\t" \
|
||||
+ "1:\n\t" \
|
||||
+ : "=r" (__res), "=&r" (__o0) \
|
||||
+ : "1" (__o0), "r" (__o1), "r" (__g1) \
|
||||
+ : "cc"); \
|
||||
+if (__res < -255 || __res >= 0) \
|
||||
+ return (type) __res; \
|
||||
+return -1; \
|
||||
+}
|
||||
+
|
||||
+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
|
||||
+type fname(type1 arg1,type2 arg2,type3 arg3) \
|
||||
+{ \
|
||||
+long __res; \
|
||||
+register long __g1 __asm__ ("g1") = __NR_##sname; \
|
||||
+register long __o0 __asm__ ("o0") = (long)(arg1); \
|
||||
+register long __o1 __asm__ ("o1") = (long)(arg2); \
|
||||
+register long __o2 __asm__ ("o2") = (long)(arg3); \
|
||||
+__asm__ __volatile__ ("t 0x10\n\t" \
|
||||
+ "bcc 1f\n\t" \
|
||||
+ "mov %%o0, %0\n\t" \
|
||||
+ "sub %%g0, %%o0, %0\n\t" \
|
||||
+ "1:\n\t" \
|
||||
+ : "=r" (__res), "=&r" (__o0) \
|
||||
+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \
|
||||
+ : "cc"); \
|
||||
+if (__res < -255 || __res>=0) \
|
||||
+ return (type) __res; \
|
||||
+return -1; \
|
||||
+}
|
||||
+
|
||||
+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
|
||||
+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
|
||||
+{ \
|
||||
+long __res; \
|
||||
+register long __g1 __asm__ ("g1") = __NR_##sname; \
|
||||
+register long __o0 __asm__ ("o0") = (long)(arg1); \
|
||||
+register long __o1 __asm__ ("o1") = (long)(arg2); \
|
||||
+register long __o2 __asm__ ("o2") = (long)(arg3); \
|
||||
+register long __o3 __asm__ ("o3") = (long)(arg4); \
|
||||
+__asm__ __volatile__ ("t 0x10\n\t" \
|
||||
+ "bcc 1f\n\t" \
|
||||
+ "mov %%o0, %0\n\t" \
|
||||
+ "sub %%g0, %%o0, %0\n\t" \
|
||||
+ "1:\n\t" \
|
||||
+ : "=r" (__res), "=&r" (__o0) \
|
||||
+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \
|
||||
+ : "cc"); \
|
||||
+if (__res < -255 || __res>=0) \
|
||||
+ return (type) __res; \
|
||||
+return -1; \
|
||||
+}
|
||||
+
|
||||
+#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) \
|
||||
+{ \
|
||||
+long __res; \
|
||||
+register long __g1 __asm__ ("g1") = __NR_##sname; \
|
||||
+register long __o0 __asm__ ("o0") = (long)(arg1); \
|
||||
+register long __o1 __asm__ ("o1") = (long)(arg2); \
|
||||
+register long __o2 __asm__ ("o2") = (long)(arg3); \
|
||||
+register long __o3 __asm__ ("o3") = (long)(arg4); \
|
||||
+register long __o4 __asm__ ("o4") = (long)(arg5); \
|
||||
+__asm__ __volatile__ ("t 0x10\n\t" \
|
||||
+ "bcc 1f\n\t" \
|
||||
+ "mov %%o0, %0\n\t" \
|
||||
+ "sub %%g0, %%o0, %0\n\t" \
|
||||
+ "1:\n\t" \
|
||||
+ : "=r" (__res), "=&r" (__o0) \
|
||||
+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \
|
||||
+ : "cc"); \
|
||||
+if (__res < -255 || __res>=0) \
|
||||
+ return (type) __res; \
|
||||
+return -1; \
|
||||
+}
|
||||
+
|
||||
Index: libaio-0.3.109/src/syscall.h
|
||||
===================================================================
|
||||
--- libaio-0.3.109.orig/src/syscall.h
|
||||
+++ libaio-0.3.109/src/syscall.h
|
||||
@@ -24,6 +24,14 @@
|
||||
#include "syscall-alpha.h"
|
||||
#elif defined(__arm__)
|
||||
#include "syscall-arm.h"
|
||||
--- libaio-0.3.110.orig/src/syscall.h
|
||||
+++ libaio-0.3.110/src/syscall.h
|
||||
@@ -28,6 +28,12 @@
|
||||
#include "syscall-sparc.h"
|
||||
#elif defined(__aarch64__)
|
||||
#include "syscall-arm64.h"
|
||||
+#elif defined(__m68k__)
|
||||
+#include "syscall-m68k.h"
|
||||
+#elif defined(__sparc__)
|
||||
+#include "syscall-sparc.h"
|
||||
+#elif defined(__hppa__)
|
||||
+#include "syscall-parisc.h"
|
||||
+#elif defined(__mips__)
|
||||
+#include "syscall-mips.h"
|
||||
#else
|
||||
#error "add syscall-arch.h"
|
||||
#endif
|
||||
Index: libaio-0.3.109/src/syscall-mips.h
|
||||
#warning "using generic syscall method"
|
||||
#include "syscall-generic.h"
|
||||
Index: libaio-0.3.110/src/syscall-mips.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.109/src/syscall-mips.h
|
||||
+++ libaio-0.3.110/src/syscall-mips.h
|
||||
@@ -0,0 +1,223 @@
|
||||
+/*
|
||||
+ * This file is subject to the terms and conditions of the GNU General Public
|
||||
|
@ -467,45 +330,10 @@ Index: libaio-0.3.109/src/syscall-mips.h
|
|||
+
|
||||
+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
|
||||
+
|
||||
Index: libaio-0.3.109/src/libaio.h
|
||||
===================================================================
|
||||
--- libaio-0.3.109.orig/src/libaio.h
|
||||
+++ libaio-0.3.109/src/libaio.h
|
||||
@@ -83,6 +83,30 @@ typedef enum io_iocb_cmd {
|
||||
#define PADDEDptr(x, y) x; unsigned y
|
||||
#define PADDEDul(x, y) unsigned long x; unsigned y
|
||||
# endif
|
||||
+#elif defined(__m68k__) /* 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(__sparc__) /* 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(__hppa__) /* 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(__mips__)
|
||||
+# if defined (__MIPSEB__) /* 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(__MIPSEL__) /* 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
|
||||
+# else
|
||||
+# error "neither mipseb nor mipsel?"
|
||||
+# endif
|
||||
#else
|
||||
#error endian?
|
||||
#endif
|
||||
Index: libaio-0.3.109/src/syscall-parisc.h
|
||||
Index: libaio-0.3.110/src/syscall-parisc.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.109/src/syscall-parisc.h
|
||||
+++ libaio-0.3.110/src/syscall-parisc.h
|
||||
@@ -0,0 +1,146 @@
|
||||
+/*
|
||||
+ * Linux system call numbers.
|
||||
|
@ -653,10 +481,10 @@ Index: libaio-0.3.109/src/syscall-parisc.h
|
|||
+ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \
|
||||
+}
|
||||
+
|
||||
Index: libaio-0.3.109/src/syscall-arm.h
|
||||
Index: libaio-0.3.110/src/syscall-arm.h
|
||||
===================================================================
|
||||
--- libaio-0.3.109.orig/src/syscall-arm.h
|
||||
+++ libaio-0.3.109/src/syscall-arm.h
|
||||
--- libaio-0.3.110.orig/src/syscall-arm.h
|
||||
+++ libaio-0.3.110/src/syscall-arm.h
|
||||
@@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3
|
||||
return (type) __res_r0; \
|
||||
}
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
Upstream-Status: Submitted
|
||||
|
||||
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
|
||||
|
||||
---
|
||||
harness/cases/16.t | 2 ++
|
||||
src/libaio.h | 10 ++++++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
--- a/src/libaio.h
|
||||
+++ b/src/libaio.h
|
||||
@@ -107,6 +107,16 @@
|
||||
# else
|
||||
# error "neither mipseb nor mipsel?"
|
||||
# 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
|
|
@ -14,29 +14,45 @@ Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
|
|||
src/libaio.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/libaio.h b/src/libaio.h
|
||||
index ff99188..64ea8f3 100644
|
||||
--- a/src/libaio.h
|
||||
+++ b/src/libaio.h
|
||||
@@ -95,6 +95,18 @@ typedef enum io_iocb_cmd {
|
||||
#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(__mips64)
|
||||
+# if defined (__MIPSEB__) /* 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(__MIPSEL__) /* little endian, 64 bits */
|
||||
+#define PADDED(x, y) x, y
|
||||
+#define PADDEDptr(x, y) x
|
||||
+#define PADDEDul(x, y) unsigned long x
|
||||
+# else
|
||||
+# error "mips64: neither mipseb nor mipsel?"
|
||||
+# endif
|
||||
#elif defined(__mips__)
|
||||
# if defined (__MIPSEB__) /* big endian, 32 bits */
|
||||
#define PADDED(x, y) unsigned y; x
|
||||
--
|
||||
1.8.2.1
|
||||
|
||||
Index: libaio-0.3.110/src/libaio.h
|
||||
===================================================================
|
||||
--- libaio-0.3.110.orig/src/libaio.h
|
||||
+++ libaio-0.3.110/src/libaio.h
|
||||
@@ -51,7 +51,7 @@ typedef enum io_iocb_cmd {
|
||||
|
||||
/* little endian, 32 bits */
|
||||
#if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \
|
||||
- defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \
|
||||
+ defined(__sh__) || defined(__bfin__) || (defined(__mips__) && defined(__MIPSEL__)) || \
|
||||
defined(__cris__)
|
||||
#define PADDED(x, y) x; unsigned y
|
||||
#define PADDEDptr(x, y) x; unsigned y
|
||||
@@ -59,7 +59,8 @@ typedef enum io_iocb_cmd {
|
||||
|
||||
/* little endian, 64 bits */
|
||||
#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \
|
||||
- (defined(__aarch64__) && defined(__AARCH64EL__))
|
||||
+ (defined(__aarch64__) && defined(__AARCH64EL__)) || \
|
||||
+ (defined(__mips64) && defined(__MIPSEL__))
|
||||
#define PADDED(x, y) x, y
|
||||
#define PADDEDptr(x, y) x
|
||||
#define PADDEDul(x, y) unsigned long x
|
||||
@@ -67,7 +68,8 @@ typedef enum io_iocb_cmd {
|
||||
/* big endian, 64 bits */
|
||||
#elif defined(__powerpc64__) || defined(__s390x__) || \
|
||||
(defined(__sparc__) && defined(__arch64__)) || \
|
||||
- (defined(__aarch64__) && defined(__AARCH64EB__))
|
||||
+ (defined(__aarch64__) && defined(__AARCH64EB__)) || \
|
||||
+ (defined(__mips64) && defined(__MIPSEL__))
|
||||
#define PADDED(x, y) unsigned y; x
|
||||
#define PADDEDptr(x,y) x
|
||||
#define PADDEDul(x, y) unsigned long x
|
||||
@@ -75,7 +77,7 @@ typedef enum io_iocb_cmd {
|
||||
/* big endian, 32 bits */
|
||||
#elif defined(__PPC__) || defined(__s390__) || \
|
||||
(defined(__arm__) && defined(__ARMEB__)) || \
|
||||
- defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \
|
||||
+ defined(__sparc__) || (defined(__mips__) && defined(__MIPSEB__)) || defined(__m68k__) || \
|
||||
defined(__hppa__) || defined(__frv__) || defined(__avr32__)
|
||||
#define PADDED(x, y) unsigned y; x
|
||||
#define PADDEDptr(x, y) unsigned y; x
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
8/27/2010 - created by Qing He <qing.he@intel.com>
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 8d134cc..df8e5b6 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -2,7 +2,6 @@ prefix=/usr
|
||||
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)
|
||||
L_CFLAGS=$(CFLAGS)
|
||||
@@ -44,8 +43,8 @@ $(libaio_objs) $(libaio_sobjs): libaio.h vsys_def.h
|
||||
|
||||
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)
|
|
@ -5,23 +5,20 @@ HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
|
|||
LICENSE = "LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
|
||||
|
||||
PR = "r2"
|
||||
|
||||
SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \
|
||||
file://00_arches.patch \
|
||||
file://toolchain.patch \
|
||||
file://destdir.patch \
|
||||
file://libaio_fix_for_x32.patch \
|
||||
file://libaio-generic.patch \
|
||||
file://libaio-aarch64.patch \
|
||||
file://libaio_fix_for_mips_syscalls.patch \
|
||||
file://libaio_fix_for_mips64.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "435a5b16ca6198eaf01155263d855756"
|
||||
SRC_URI[sha256sum] = "bf4a457253cbaab215aea75cb6e18dc8d95bbd507e9920661ff9bdd288c8778d"
|
||||
SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8"
|
||||
SRC_URI[sha256sum] = "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e"
|
||||
|
||||
EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
|
||||
# Need libc for stack-protector's __stack_chk_fail_local() bounce function
|
||||
LDFLAGS_append_x86 = " -lc"
|
||||
|
||||
do_configure () {
|
||||
sed -i 's#LINK_FLAGS=.*#LINK_FLAGS=$(LDFLAGS)#' src/Makefile
|
Loading…
Reference in New Issue