Patchwork [CONSOLIDATED,PULL,08/15] findutils: Fix compilation for x32 toolchain

login
register
mail settings
Submitter Saul Wold
Date Dec. 9, 2011, 6:23 p.m.
Message ID <5aa11ec2b6b5e04608c63c14490373af32cbb8ed.1323454935.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/16593/
State New
Headers show

Comments

Saul Wold - Dec. 9, 2011, 6:23 p.m.
From: Nitin A Kamble <nitin.a.kamble@intel.com>

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.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>
---
 .../findutils-4.4.2_fix_for_x32.patch              |   36 ++++++++++++++++++++
 meta/recipes-extended/findutils/findutils_4.4.2.bb |    5 ++-
 2 files changed, 39 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/findutils/findutils-4.4.2/findutils-4.4.2_fix_for_x32.patch

Patch

diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/findutils-4.4.2_fix_for_x32.patch b/meta/recipes-extended/findutils/findutils-4.4.2/findutils-4.4.2_fix_for_x32.patch
new file mode 100644
index 0000000..484f8a4
--- /dev/null
+++ b/meta/recipes-extended/findutils/findutils-4.4.2/findutils-4.4.2_fix_for_x32.patch
@@ -0,0 +1,36 @@ 
+UpstreamStatus: Pending
+
+Author: H.J. Lu <hjl.tools@gmail.com>
+
+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.
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 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 cfc6546..af9649e 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-4.4.2_fix_for_x32.patch "
 
 SRC_URI[md5sum] = "351cc4adb07d54877fa15f75fb77d39f"
 SRC_URI[sha256sum] = "434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a"