diff options
| author | Nathan Rossi <nathan.rossi@xilinx.com> | 2015-02-13 17:41:34 +1000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-15 21:58:27 +0000 |
| commit | abb6cdef942fd151e33a14eceebc9958995b570f (patch) | |
| tree | 4deb991dff30b862df6a4c277eff85e874d63ace | |
| parent | 60ae5c2eb0a06a84aa48e9ec1eaa0a619dc56629 (diff) | |
| download | poky-abb6cdef942fd151e33a14eceebc9958995b570f.tar.gz | |
libaio: Backport generic arch detection patch
* Backport the patch which adds generic architecture detection
* Remove the no longer required patch to fix padding for mips64
(From OE-Core rev: 699da7aff18c8b7630dd6da7323081a25ba7a9c2)
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 66 insertions, 59 deletions
diff --git a/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch b/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch new file mode 100644 index 0000000000..bba7e554af --- /dev/null +++ b/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | From: Nathan Rossi <nathan.rossi@xilinx.com> | ||
| 2 | Date: Tue, 27 Jan 2015 14:59:35 +1000 | ||
| 3 | Subject: [PATCH] Generic arch dectection for padding defines | ||
| 4 | |||
| 5 | When available use the GNU C defines for endian and bitwidth to | ||
| 6 | determine the padding required. This reduces the need to define the | ||
| 7 | padding selection for every architecture. | ||
| 8 | |||
| 9 | Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> | ||
| 10 | Signed-off-by: Jeff Moyer <jmoyer@redhat.com> | ||
| 11 | Upstream-Status: Backport | ||
| 12 | --- | ||
| 13 | src/libaio.h | 16 ++++++++++++---- | ||
| 14 | 1 file changed, 12 insertions(+), 4 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/libaio.h b/src/libaio.h | ||
| 17 | index 1223146..4a4e0f5 100644 | ||
| 18 | --- a/src/libaio.h | ||
| 19 | +++ b/src/libaio.h | ||
| 20 | @@ -52,14 +52,18 @@ typedef enum io_iocb_cmd { | ||
| 21 | /* little endian, 32 bits */ | ||
| 22 | #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \ | ||
| 23 | defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ | ||
| 24 | - defined(__cris__) | ||
| 25 | + defined(__cris__) || \ | ||
| 26 | + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ | ||
| 27 | + __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4) | ||
| 28 | #define PADDED(x, y) x; unsigned y | ||
| 29 | #define PADDEDptr(x, y) x; unsigned y | ||
| 30 | #define PADDEDul(x, y) unsigned long x; unsigned y | ||
| 31 | |||
| 32 | /* little endian, 64 bits */ | ||
| 33 | #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ | ||
| 34 | - (defined(__aarch64__) && defined(__AARCH64EL__)) | ||
| 35 | + (defined(__aarch64__) && defined(__AARCH64EL__)) || \ | ||
| 36 | + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ | ||
| 37 | + __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 8) | ||
| 38 | #define PADDED(x, y) x, y | ||
| 39 | #define PADDEDptr(x, y) x | ||
| 40 | #define PADDEDul(x, y) unsigned long x | ||
| 41 | @@ -67,7 +71,9 @@ typedef enum io_iocb_cmd { | ||
| 42 | /* big endian, 64 bits */ | ||
| 43 | #elif defined(__powerpc64__) || defined(__s390x__) || \ | ||
| 44 | (defined(__sparc__) && defined(__arch64__)) || \ | ||
| 45 | - (defined(__aarch64__) && defined(__AARCH64EB__)) | ||
| 46 | + (defined(__aarch64__) && defined(__AARCH64EB__)) || \ | ||
| 47 | + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ | ||
| 48 | + __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 8) | ||
| 49 | #define PADDED(x, y) unsigned y; x | ||
| 50 | #define PADDEDptr(x,y) x | ||
| 51 | #define PADDEDul(x, y) unsigned long x | ||
| 52 | @@ -76,7 +82,9 @@ typedef enum io_iocb_cmd { | ||
| 53 | #elif defined(__PPC__) || defined(__s390__) || \ | ||
| 54 | (defined(__arm__) && defined(__ARMEB__)) || \ | ||
| 55 | defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \ | ||
| 56 | - defined(__hppa__) || defined(__frv__) || defined(__avr32__) | ||
| 57 | + defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \ | ||
| 58 | + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ | ||
| 59 | + __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4) | ||
| 60 | #define PADDED(x, y) unsigned y; x | ||
| 61 | #define PADDEDptr(x, y) unsigned y; x | ||
| 62 | #define PADDEDul(x, y) unsigned y; unsigned long x | ||
| 63 | -- | ||
| 64 | 2.1.1 | ||
| 65 | |||
diff --git a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch b/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch deleted file mode 100644 index 9d4bb46aaf..0000000000 --- a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | From 62fd97fbc5c53835baa18f210fca593fc8b5c636 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jianchuan Wang <jianchuan.wang@windriver.com> | ||
| 3 | Date: Wed, 15 Oct 2014 07:04:02 +0800 | ||
| 4 | Subject: [PATCH] libaio: fix for mips64 | ||
| 5 | |||
| 6 | Add mips64 support in the libaio.h | ||
| 7 | - add macro PADDED/PADDEDptr/PADDEDul in the mips64 for structure iocb | ||
| 8 | to be matched userland with kernel | ||
| 9 | |||
| 10 | Upstream-Status: Backport | ||
| 11 | |||
| 12 | Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> | ||
| 13 | --- | ||
| 14 | src/libaio.h | 12 ++++++++++++ | ||
| 15 | 1 file changed, 12 insertions(+) | ||
| 16 | |||
| 17 | Index: libaio-0.3.110/src/libaio.h | ||
| 18 | =================================================================== | ||
| 19 | --- libaio-0.3.110.orig/src/libaio.h | ||
| 20 | +++ libaio-0.3.110/src/libaio.h | ||
| 21 | @@ -51,7 +51,7 @@ typedef enum io_iocb_cmd { | ||
| 22 | |||
| 23 | /* little endian, 32 bits */ | ||
| 24 | #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \ | ||
| 25 | - defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ | ||
| 26 | + defined(__sh__) || defined(__bfin__) || (defined(__mips__) && defined(__MIPSEL__)) || \ | ||
| 27 | defined(__cris__) | ||
| 28 | #define PADDED(x, y) x; unsigned y | ||
| 29 | #define PADDEDptr(x, y) x; unsigned y | ||
| 30 | @@ -59,7 +59,8 @@ typedef enum io_iocb_cmd { | ||
| 31 | |||
| 32 | /* little endian, 64 bits */ | ||
| 33 | #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ | ||
| 34 | - (defined(__aarch64__) && defined(__AARCH64EL__)) | ||
| 35 | + (defined(__aarch64__) && defined(__AARCH64EL__)) || \ | ||
| 36 | + (defined(__mips64) && defined(__MIPSEL__)) | ||
| 37 | #define PADDED(x, y) x, y | ||
| 38 | #define PADDEDptr(x, y) x | ||
| 39 | #define PADDEDul(x, y) unsigned long x | ||
| 40 | @@ -67,7 +68,8 @@ typedef enum io_iocb_cmd { | ||
| 41 | /* big endian, 64 bits */ | ||
| 42 | #elif defined(__powerpc64__) || defined(__s390x__) || \ | ||
| 43 | (defined(__sparc__) && defined(__arch64__)) || \ | ||
| 44 | - (defined(__aarch64__) && defined(__AARCH64EB__)) | ||
| 45 | + (defined(__aarch64__) && defined(__AARCH64EB__)) || \ | ||
| 46 | + (defined(__mips64) && defined(__MIPSEL__)) | ||
| 47 | #define PADDED(x, y) unsigned y; x | ||
| 48 | #define PADDEDptr(x,y) x | ||
| 49 | #define PADDEDul(x, y) unsigned long x | ||
| 50 | @@ -75,7 +77,7 @@ typedef enum io_iocb_cmd { | ||
| 51 | /* big endian, 32 bits */ | ||
| 52 | #elif defined(__PPC__) || defined(__s390__) || \ | ||
| 53 | (defined(__arm__) && defined(__ARMEB__)) || \ | ||
| 54 | - defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \ | ||
| 55 | + defined(__sparc__) || (defined(__mips__) && defined(__MIPSEB__)) || defined(__m68k__) || \ | ||
| 56 | defined(__hppa__) || defined(__frv__) || defined(__avr32__) | ||
| 57 | #define PADDED(x, y) unsigned y; x | ||
| 58 | #define PADDEDptr(x, y) unsigned y; x | ||
diff --git a/meta/recipes-extended/libaio/libaio_0.3.110.bb b/meta/recipes-extended/libaio/libaio_0.3.110.bb index 9e364149d2..cbe29ce2ab 100644 --- a/meta/recipes-extended/libaio/libaio_0.3.110.bb +++ b/meta/recipes-extended/libaio/libaio_0.3.110.bb | |||
| @@ -6,11 +6,11 @@ LICENSE = "LGPLv2.1+" | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" |
| 7 | 7 | ||
| 8 | SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \ | 8 | SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \ |
| 9 | file://generic-arch-dectection-for-padding-defines.patch \ | ||
| 9 | file://00_arches.patch \ | 10 | file://00_arches.patch \ |
| 10 | file://destdir.patch \ | 11 | file://destdir.patch \ |
| 11 | file://libaio_fix_for_x32.patch \ | 12 | file://libaio_fix_for_x32.patch \ |
| 12 | file://libaio_fix_for_mips_syscalls.patch \ | 13 | file://libaio_fix_for_mips_syscalls.patch \ |
| 13 | file://libaio_fix_for_mips64.patch \ | ||
| 14 | " | 14 | " |
| 15 | 15 | ||
| 16 | SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8" | 16 | SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8" |
