GNU bug report logs -
#13030
factor: infinite loop on Linux/powerpc
Previous Next
Reported by: Colin Watson <cjwatson <at> ubuntu.com>
Date: Thu, 29 Nov 2012 17:51:01 UTC
Severity: normal
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Pádraig Brady wrote:
...
> No comments, so I'm pushing the attached.
...
> Subject: [PATCH] factor: apply a more general fix to enable correct assembly
>
> In addition to the previous 64 bit guards we've placed in longlong.h
> there are additional _LP64 guards required for mips with -mcpu >= 3,
> to avoid a build failure (http://bugs.gnu.org/13353) and on sparc
> with -mcpu >= v9 in 32 bit mode where for example,
> `factor 2123123123123123123123` would go into an infinite loop.
>
> Since factor.c currently operates on uintmax_t, we restrict the use
> of the assembly in longlong.h to when 'long' has the same width, to
> provide a more general guard for this code.
>
> * src/factor.c: Restrict the use of longlong.h assembly code,
> to when the width of intmax_t == long.
> * src/longlong.h: Remove the previous _LP64 guards to avoid
> divergence from GMP's longlong.h
> * NEWS: Adjust the info on build and runtime fixes.
Nice work. Thanks!
This bug report was last modified 12 years and 132 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.