Source: coreutils
Version: 8.20-1
Severity: wishlist
User: [email protected]
Usertags: port-x32 ftbfs-x32

Hi, coreutils is currently failing to build on the x32 port, with assembler 
errors in src/factor.c.  I found that the cause is the file incorrectly 
defining 
DItype to long instead of long long, because of the issue I detailed in the 
subject.  Attached a full debdiff of the changes with which coreutils builds 
again.

I also tested the patch on i386, and verified that the build still works fine 
there.  And of course, the patch should make no difference on amd64.
-- 
Daniel Schepler
diff -u coreutils-8.20/debian/changelog coreutils-8.20/debian/changelog
--- coreutils-8.20/debian/changelog
+++ coreutils-8.20/debian/changelog
@@ -1,3 +1,10 @@
+coreutils (8.20-1+x32) UNRELEASED; urgency=low
+
+  * New patch 99_factor_longlong: bug fix in detection of long long
+    availability.
+
+ -- Daniel Schepler <[email protected]>  Wed, 14 Nov 2012 12:09:14 -0800
+
 coreutils (8.20-1) unstable; urgency=low
 
   * New upstream version
diff -u coreutils-8.20/debian/patches/00list coreutils-8.20/debian/patches/00list
--- coreutils-8.20/debian/patches/00list
+++ coreutils-8.20/debian/patches/00list
@@ -6,0 +7 @@
+99_factor_longlong
only in patch2:
unchanged:
--- coreutils-8.20.orig/debian/patches/99_factor_longlong.dpatch
+++ coreutils-8.20/debian/patches/99_factor_longlong.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99_factor_longlong.dpatch by Daniel Schepler <[email protected]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix compilation error on x32 due to asm errors; the root cause was
+## DP: a typo using HAVE_LONG_LONG instead of HAVE_LONG_LONG_INT.
+
+@DPATCH@
+--- coreutils-8.20~/src/factor.c	2012-11-14 20:06:38.000000000 +0000
++++ coreutils-8.20/src/factor.c	2012-11-14 20:06:55.000000000 +0000
+@@ -138,7 +138,7 @@
+ typedef unsigned char UQItype;
+ typedef          long SItype;
+ typedef unsigned long int USItype;
+-#  if HAVE_LONG_LONG
++#  if HAVE_LONG_LONG_INT
+ typedef long long int DItype;
+ typedef unsigned long long int UDItype;
+ #  else /* Assume `long' gives us a wide enough type.  Needed for hppa2.0w.  */

Reply via email to