mdadm: Fix build in x32 ABI

Add a patch for fix build in x32 ABI, the fail is cause by time_t
printf because time_t is long int in x64 and long long int in x32.

[YOCTO #7422]

(From OE-Core rev: 753994a2016758ec058822d727b05ef9532b97c8)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Aníbal Limón 2015-03-15 09:02:14 +00:00 committed by Richard Purdie
parent 8e19349b69
commit 3732fdec0a
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,26 @@
When try to print time_t values as a long int it causes an error because time_t
data type in x32 ABI is long long int.
Upstream-Status: Pending
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
diff --git a/monitor.c b/monitor.c
index f81e707..19ea041 100644
--- a/monitor.c
+++ b/monitor.c
@@ -260,8 +260,13 @@ static int read_and_act(struct active_array *a)
}
gettimeofday(&tv, NULL);
+#if defined(__x86_64__) && defined(__ILP32__)
+ dprintf("%s(%d): %lld.%06lld state:%s prev:%s action:%s prev: %s start:%llu\n",
+#else
dprintf("%s(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n",
- __func__, a->info.container_member,
+#endif
+ __func__,
+ a->info.container_member,
tv.tv_sec, tv.tv_usec,
array_states[a->curr_state],
array_states[a->prev_state],

View File

@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://mdadm-3.2.2_fix_for_x32.patch \
file://gcc-4.9.patch \
file://mdadm-3.3.2_x32_abi_time_t.patch \
"
SRC_URI[md5sum] = "44698d351501cac6a89072dc877eb220"