emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#12754: closed (factor.c selects 64 bit code from l


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#12754: closed (factor.c selects 64 bit code from longlong.h on 32-bit hppa systems)
Date: Sun, 04 Nov 2012 00:58:01 +0000

Your message dated Sun, 04 Nov 2012 00:54:09 +0000
with message-id <address@hidden>
and subject line Re: bug#12754: factor.c selects 64 bit code from longlong.h on 
32-bit hppa systems
has caused the debbugs.gnu.org bug report #12754,
regarding factor.c selects 64 bit code from longlong.h on 32-bit hppa systems
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
12754: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12754
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: factor.c selects 64 bit code from longlong.h on 32-bit hppa systems Date: Sun, 28 Oct 2012 15:46:44 -0400 User-agent: Mutt/1.5.16 (2007-06-09)
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                                  address@hidden
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Attachment: factor.c.d
Description: Text document


--- End Message ---
--- Begin Message --- Subject: Re: bug#12754: factor.c selects 64 bit code from longlong.h on 32-bit hppa systems Date: Sun, 04 Nov 2012 00:54:09 +0000 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1
On 10/30/2012 01:59 AM, Pádraig Brady wrote:
Since 2.0 is the only arch that supports the 64 bit hppa code in longlong.h,
the following enables the code to compile by default.

diff --git a/src/longlong.h b/src/longlong.h
index 8d71611..8b01696 100644
--- a/src/longlong.h
+++ b/src/longlong.h
@@ -679,7 +679,7 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, 
UWtype);
  /* These macros are for ABI=2.0w.  In ABI=2.0n they can't be used, since GCC
     (3.2) puts longlong into two adjacent 32-bit registers.  Presumably this
     is just a case of no direct support for 2.0n but treating it like 1.0. */
-#if defined (__hppa) && W_TYPE_SIZE == 64 && ! defined (_LONG_LONG_LIMB)
+#if defined (__hppa) && defined (_PA_RISC2_0) && W_TYPE_SIZE == 64 && ! 
defined (_LONG_LONG_LIMB)
  #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
    __asm__ ("add%I5 %5,%r4,%1\n\tadd,dc %r2,%r3,%0"                     \
            : "=r" (sh), "=&r" (sl)                                      \

Note even though I've not encountered a system yet where uintmax_t != 64 bit,
I'll add the guards around "#define W_TYPE_SIZE", previously mentioned in
this thread, in a separate patch.

I've now pushed the patch set discussed in this thread,
so I'm marking this bug as done.

cheers,
Pádraig.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]