mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
libaio: update to 0.3.111
Remove: generic-arch-dectection-for-padding-defines.patch (was a backport) libaio_fix_for_x32.patch (is patching source code that no longer exists) Rebase: 00_arches.patch (drop the arm bits, as they no longer exist upstream either) (From OE-Core rev: a3d27ff5763d331c4d6c8b815af5624103311544) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
57f065702e
commit
a6b11646a1
@@ -1,11 +1,27 @@
|
||||
From ceba1e03e5b57cdae0b3b2d2c9afebc085c986d8 Mon Sep 17 00:00:00 2001
|
||||
From: Qing He <qing.he@intel.com>
|
||||
Date: Fri, 27 Aug 2010 10:15:31 +0800
|
||||
Subject: [PATCH] libaio: add new recipe
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
from openembedded, added by Qing He <qing.he@intel.com>
|
||||
|
||||
Index: libaio-0.3.110/src/syscall-m68k.h
|
||||
===================================================================
|
||||
---
|
||||
src/syscall-m68k.h | 78 ++++++++++++++++++
|
||||
src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++
|
||||
src/syscall.h | 6 ++
|
||||
4 files changed, 453 insertions(+)
|
||||
create mode 100644 src/syscall-m68k.h
|
||||
create mode 100644 src/syscall-mips.h
|
||||
create mode 100644 src/syscall-parisc.h
|
||||
|
||||
diff --git a/src/syscall-m68k.h b/src/syscall-m68k.h
|
||||
new file mode 100644
|
||||
index 0000000..f440412
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.110/src/syscall-m68k.h
|
||||
+++ b/src/syscall-m68k.h
|
||||
@@ -0,0 +1,78 @@
|
||||
+#define __NR_io_setup 241
|
||||
+#define __NR_io_destroy 242
|
||||
@@ -85,27 +101,11 @@ Index: libaio-0.3.110/src/syscall-m68k.h
|
||||
+return (type) __res; \
|
||||
+}
|
||||
+
|
||||
Index: libaio-0.3.110/src/syscall.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(__hppa__)
|
||||
+#include "syscall-parisc.h"
|
||||
+#elif defined(__mips__)
|
||||
+#include "syscall-mips.h"
|
||||
#else
|
||||
#warning "using generic syscall method"
|
||||
#include "syscall-generic.h"
|
||||
Index: libaio-0.3.110/src/syscall-mips.h
|
||||
===================================================================
|
||||
diff --git a/src/syscall-mips.h b/src/syscall-mips.h
|
||||
new file mode 100644
|
||||
index 0000000..4142499
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.110/src/syscall-mips.h
|
||||
+++ b/src/syscall-mips.h
|
||||
@@ -0,0 +1,223 @@
|
||||
+/*
|
||||
+ * This file is subject to the terms and conditions of the GNU General Public
|
||||
@@ -330,10 +330,11 @@ Index: libaio-0.3.110/src/syscall-mips.h
|
||||
+
|
||||
+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
|
||||
+
|
||||
Index: libaio-0.3.110/src/syscall-parisc.h
|
||||
===================================================================
|
||||
diff --git a/src/syscall-parisc.h b/src/syscall-parisc.h
|
||||
new file mode 100644
|
||||
index 0000000..ff61746
|
||||
--- /dev/null
|
||||
+++ libaio-0.3.110/src/syscall-parisc.h
|
||||
+++ b/src/syscall-parisc.h
|
||||
@@ -0,0 +1,146 @@
|
||||
+/*
|
||||
+ * Linux system call numbers.
|
||||
@@ -481,127 +482,20 @@ Index: libaio-0.3.110/src/syscall-parisc.h
|
||||
+ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \
|
||||
+}
|
||||
+
|
||||
Index: libaio-0.3.110/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; \
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * 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_OABI_SYSCALL_BASE 0x900000
|
||||
+
|
||||
+#if defined(__thumb__) || defined(__ARM_EABI__)
|
||||
+#define __NR_SYSCALL_BASE 0
|
||||
+#else
|
||||
+#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
|
||||
+#endif
|
||||
+
|
||||
+#define __NR_io_setup (__NR_SYSCALL_BASE+243)
|
||||
+#define __NR_io_destroy (__NR_SYSCALL_BASE+244)
|
||||
+#define __NR_io_getevents (__NR_SYSCALL_BASE+245)
|
||||
+#define __NR_io_submit (__NR_SYSCALL_BASE+246)
|
||||
+#define __NR_io_cancel (__NR_SYSCALL_BASE+247)
|
||||
+
|
||||
+#define __sys2(x) #x
|
||||
+#define __sys1(x) __sys2(x)
|
||||
+
|
||||
+#if defined(__thumb__) || defined(__ARM_EABI__)
|
||||
+#define __SYS_REG(name) register long __sysreg __asm__("r7") = __NR_##name;
|
||||
+#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs
|
||||
+#define __syscall(name) "swi\t0"
|
||||
+#else
|
||||
+#define __SYS_REG(name)
|
||||
+#define __SYS_REG_LIST(regs...) regs
|
||||
+#define __syscall(name) "swi\t" __sys1(__NR_##name) ""
|
||||
+#endif
|
||||
+
|
||||
+#define io_syscall1(type,fname,sname,type1,arg1) \
|
||||
+type fname(type1 arg1) { \
|
||||
+ __SYS_REG(sname) \
|
||||
+ register long __r0 __asm__("r0") = (long)arg1; \
|
||||
+ register long __res_r0 __asm__("r0"); \
|
||||
+ __asm__ __volatile__ ( \
|
||||
+ __syscall(sname) \
|
||||
+ : "=r" (__res_r0) \
|
||||
+ : __SYS_REG_LIST( "0" (__r0) ) \
|
||||
+ : "memory" ); \
|
||||
+ return (type) __res_r0; \
|
||||
+}
|
||||
+
|
||||
+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
|
||||
+type fname(type1 arg1,type2 arg2) { \
|
||||
+ __SYS_REG(sname) \
|
||||
+ register long __r0 __asm__("r0") = (long)arg1; \
|
||||
+ register long __r1 __asm__("r1") = (long)arg2; \
|
||||
+ register long __res_r0 __asm__("r0"); \
|
||||
+ __asm__ __volatile__ ( \
|
||||
+ __syscall(sname) \
|
||||
+ : "=r" (__res_r0) \
|
||||
+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1) ) \
|
||||
+ : "memory" ); \
|
||||
+ return (type) __res_r0; \
|
||||
+}
|
||||
+
|
||||
+#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 __r0 __asm__("r0") = (long)arg1; \
|
||||
+ register long __r1 __asm__("r1") = (long)arg2; \
|
||||
+ register long __r2 __asm__("r2") = (long)arg3; \
|
||||
+ register long __res_r0 __asm__("r0"); \
|
||||
+ __asm__ __volatile__ ( \
|
||||
+ __syscall(sname) \
|
||||
+ : "=r" (__res_r0) \
|
||||
+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2) ) \
|
||||
+ : "memory" ); \
|
||||
+ return (type) __res_r0; \
|
||||
+}
|
||||
+
|
||||
+#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 __r0 __asm__("r0") = (long)arg1; \
|
||||
+ register long __r1 __asm__("r1") = (long)arg2; \
|
||||
+ register long __r2 __asm__("r2") = (long)arg3; \
|
||||
+ register long __r3 __asm__("r3") = (long)arg4; \
|
||||
+ register long __res_r0 __asm__("r0"); \
|
||||
+ __asm__ __volatile__ ( \
|
||||
+ __syscall(sname) \
|
||||
+ : "=r" (__res_r0) \
|
||||
+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), "r" (__r3) ) \
|
||||
+ : "memory" ); \
|
||||
+ return (type) __res_r0; \
|
||||
+}
|
||||
+
|
||||
+#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 __r0 __asm__("r0") = (long)arg1; \
|
||||
+ register long __r1 __asm__("r1") = (long)arg2; \
|
||||
+ register long __r2 __asm__("r2") = (long)arg3; \
|
||||
+ register long __r3 __asm__("r3") = (long)arg4; \
|
||||
+ register long __r4 __asm__("r4") = (long)arg5; \
|
||||
+ register long __res_r0 __asm__("r0"); \
|
||||
+ __asm__ __volatile__ ( \
|
||||
+ __syscall(sname) \
|
||||
+ : "=r" (__res_r0) \
|
||||
+ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), \
|
||||
+ "r" (__r3), "r" (__r4) ) \
|
||||
+ : "memory" ); \
|
||||
+ return (type) __res_r0; \
|
||||
+}
|
||||
+
|
||||
diff --git a/src/syscall.h b/src/syscall.h
|
||||
index 9b9e9c1..9ecd3b4 100644
|
||||
--- a/src/syscall.h
|
||||
+++ b/src/syscall.h
|
||||
@@ -29,6 +29,12 @@
|
||||
#include "syscall-sparc.h"
|
||||
#elif defined(__aarch64__) || defined(__riscv)
|
||||
#include "syscall-generic.h"
|
||||
+#elif defined(__m68k__)
|
||||
+#include "syscall-m68k.h"
|
||||
+#elif defined(__hppa__)
|
||||
+#include "syscall-parisc.h"
|
||||
+#elif defined(__mips__)
|
||||
+#include "syscall-mips.h"
|
||||
#else
|
||||
#warning "using system call numbers from sys/syscall.h"
|
||||
#endif
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
From: Nathan Rossi <nathan.rossi@xilinx.com>
|
||||
Date: Tue, 27 Jan 2015 14:59:35 +1000
|
||||
Subject: [PATCH] Generic arch dectection for padding defines
|
||||
|
||||
When available use the GNU C defines for endian and bitwidth to
|
||||
determine the padding required. This reduces the need to define the
|
||||
padding selection for every architecture.
|
||||
|
||||
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
|
||||
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
src/libaio.h | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/libaio.h b/src/libaio.h
|
||||
index 1223146..4a4e0f5 100644
|
||||
--- a/src/libaio.h
|
||||
+++ b/src/libaio.h
|
||||
@@ -52,14 +52,18 @@ typedef enum io_iocb_cmd {
|
||||
/* little endian, 32 bits */
|
||||
#if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \
|
||||
defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \
|
||||
- defined(__cris__)
|
||||
+ defined(__cris__) || \
|
||||
+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
|
||||
+ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4)
|
||||
#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__) || \
|
||||
- (defined(__aarch64__) && defined(__AARCH64EL__))
|
||||
+ (defined(__aarch64__) && defined(__AARCH64EL__)) || \
|
||||
+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
|
||||
+ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 8)
|
||||
#define PADDED(x, y) x, y
|
||||
#define PADDEDptr(x, y) x
|
||||
#define PADDEDul(x, y) unsigned long x
|
||||
@@ -67,7 +71,9 @@ 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(__GNUC__) && defined(__BYTE_ORDER__) && \
|
||||
+ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 8)
|
||||
#define PADDED(x, y) unsigned y; x
|
||||
#define PADDEDptr(x,y) x
|
||||
#define PADDEDul(x, y) unsigned long x
|
||||
@@ -76,7 +82,9 @@ typedef enum io_iocb_cmd {
|
||||
#elif defined(__PPC__) || defined(__s390__) || \
|
||||
(defined(__arm__) && defined(__ARMEB__)) || \
|
||||
defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \
|
||||
- defined(__hppa__) || defined(__frv__) || defined(__avr32__)
|
||||
+ defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \
|
||||
+ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
|
||||
+ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4)
|
||||
#define PADDED(x, y) unsigned y; x
|
||||
#define PADDEDptr(x, y) unsigned y; x
|
||||
#define PADDEDul(x, y) unsigned y; unsigned long x
|
||||
--
|
||||
2.1.1
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
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; \
|
||||
}
|
||||
+3
-8
@@ -5,19 +5,14 @@ HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
|
||||
LICENSE = "LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
|
||||
|
||||
SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/liba/${BPN}/${BPN}_${PV}.orig.tar.gz \
|
||||
file://generic-arch-dectection-for-padding-defines.patch \
|
||||
SRC_URI = "git://pagure.io/libaio.git;protocol=https \
|
||||
file://00_arches.patch \
|
||||
file://destdir.patch \
|
||||
file://libaio_fix_for_x32.patch \
|
||||
file://libaio_fix_for_mips_syscalls.patch \
|
||||
file://system-linkage.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8"
|
||||
SRC_URI[sha256sum] = "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e"
|
||||
|
||||
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/liba/libaio/"
|
||||
SRCREV = "f66be22ab0a59a39858900ab72a8c6a6e8b0b7ec"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
|
||||
|
||||
Reference in New Issue
Block a user