When USE_LONGLONG_H is defined, factor.c unilaterally defines W_TYPE_SIZE to 64. This selects the wrong code from longlong.h on 32-bit hppa systems causing an assembly failure.
Attached is a hack which should work on most but probably not all systems. Dave -- J. David Anglin [email protected] National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
--- factor.c.orig Tue Oct 23 10:14:12 2012 +++ factor.c Sun Oct 28 15:03:04 2012 @@ -124,7 +124,7 @@ #if USE_LONGLONG_H /* Make definitions for longlong.h to make it do what it can do for us */ -# define W_TYPE_SIZE 64 /* bitcount for uintmax_t */ +# define W_TYPE_SIZE (INT64_MAX_EQ_LONG_MAX ? 64 : 32) # define UWtype uintmax_t # define UHWtype unsigned long int # undef UDWtype
