diff options
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" |