From b9e3ddc42a5311a2b18d9899e19c98b6e7b25a49 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Mon, 5 Dec 2011 17:01:49 -0800 Subject: findutils: Fix compilation for x32 toolchain Work around gnulib time_t assumption in findutils for x32 time_t is 64bit and long int is 32bit on x32. But gnulib used in findutils assumes time_t values fit into long int. Such assumption is invalid for x32 and should be removed. This patch is a workaround to compile gnulib for x32. (From OE-Core rev: 8a80a3510c65419a6fcd9e38ad3ef4234778b921) Signed-off-by: Nitin A Kamble Signed-Off-By: H.J. Lu Signed-off-by: Richard Purdie --- .../findutils-4.4.2/findutils_fix_for_x32.patch | 40 ++++++++++++++++++++++ meta/recipes-extended/findutils/findutils_4.4.2.bb | 5 +-- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch (limited to 'meta/recipes-extended/findutils') diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch b/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch new file mode 100644 index 0000000000..dd2ab0e5ab --- /dev/null +++ b/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch @@ -0,0 +1,40 @@ +UpstreamStatus: Pending + +Author: H.J. Lu + +Work around gnulib time_t assumption in findutils for x32 + +time_t is 64bit and long int is 32bit on x32. But gnulib used in +findutils assumes time_t values fit into long int. Such assumption is +invalid for x32 and should be removed. + +This patch is a workaround to compile gnulib for x32. + +Signed-Off-By: Nitin A Kamble 2011/12/05 + + +Index: findutils-4.4.2/gnulib/lib/getdate.y +=================================================================== +--- findutils-4.4.2.orig/gnulib/lib/getdate.y ++++ findutils-4.4.2/gnulib/lib/getdate.y +@@ -114,7 +114,6 @@ + wraps around, but there's no portable way to check for that at + compile-time. */ + verify (TYPE_IS_INTEGER (time_t)); +-verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX); + + /* An integer value, and the number of digits in its textual + representation. */ +Index: findutils-4.4.2/gnulib/lib/mktime.c +=================================================================== +--- findutils-4.4.2.orig/gnulib/lib/mktime.c ++++ findutils-4.4.2/gnulib/lib/mktime.c +@@ -166,7 +166,7 @@ ydhms_diff (long int year1, long int yda + { + verify (C99_integer_division, -1 / 2 == 0); + verify (long_int_year_and_yday_are_wide_enough, +- INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX); ++ INT_MAX <= TIME_T_MAX / 2 || TIME_T_MAX <= UINT_MAX); + + /* Compute intervening leap days correctly even if year is negative. + Take care to avoid integer overflow here. */ diff --git a/meta/recipes-extended/findutils/findutils_4.4.2.bb b/meta/recipes-extended/findutils/findutils_4.4.2.bb index cfc65465b8..c25ba4cd12 100644 --- a/meta/recipes-extended/findutils/findutils_4.4.2.bb +++ b/meta/recipes-extended/findutils/findutils_4.4.2.bb @@ -1,10 +1,11 @@ require findutils.inc -PR = "r0" +PR = "r1" SRC_URI += "file://01-27017.patch \ file://02-28824.patch \ - file://03-28872.patch" + file://03-28872.patch \ + file://findutils_fix_for_x32.patch " SRC_URI[md5sum] = "351cc4adb07d54877fa15f75fb77d39f" SRC_URI[sha256sum] = "434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a" -- cgit v1.2.3-54-g00ecf