Subject: Re: bug#13353: Coreutils-8.20 mips build broken

From: Pádraig Brady <[email-masked]>
Date: Fri, 04 Jan 2013 17:02:14 +0000

On 01/04/2013 04:23 PM, Marko Lindqvist wrote:
> On 4 January 2013 14:12, Pádraig Brady <[email-masked]> wrote:
>>
>> So could you try the following patch.
>
>> diff src/longlong.h.orig src/longlong.h
>> 1240c1240
>> < #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
>> ---
>>> #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 && defined
>>> (_LP64)
>>
>> thanks,
>> Pádraig.
>
>   Yes, that works. Thank you.

OK cool.
I think I'll use this more general patch instead.

thanks,
Pádraig.

diff --git a/src/factor.c b/src/factor.c
index 473eee7..95451a5 100644
--- a/src/factor.c
+++ b/src/factor.c
@@ -118,7 +118,14 @@
  #endif

  #ifndef USE_LONGLONG_H
-# define USE_LONGLONG_H 1
+/* With the way we use longlong.h, it's only safe to use
+   when UWtype = UHWtype, as there were various cases
+   (as can be seen in the history for longlong.h) where
+   for example, _LP64 was required to enable W_TYPE_SIZE==64 code,
+   to avoid compile time or run time issues.  */
+# if LONG_MAX == INTMAX_MAX
+#  define USE_LONGLONG_H 1
+# endif
  #endif

  #if USE_LONGLONG_H