gm2
[Top][All Lists]
Advanced

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

Re: [Gm2] Tru64/Alpha and Freebsd/i386


From: Gaius Mulley
Subject: Re: [Gm2] Tru64/Alpha and Freebsd/i386
Date: 13 Jan 2006 12:31:52 +0000
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Michael Lambert <address@hidden> writes:

> Hi Gaius,
> 
> I've had some success with today's CVS under Tru64 v5.1 on an Alpha and
> under FreeBSD 4.11 on an i386.

Hi Michael,

excellent stuff, thanks for reporting your tests - I'll add them to
the web page.

> Both of them require that I do a 'make SHELL=<path>/bash ...' as
> gm2/tools-src/createUlmSys does not work with the Bourne or Korn shells
> (list support is different in the Tru64 Korn shell and lacking in the
> Bourne shell).  There may be some other bash dependencies following that
> one.

> Tru64:
> 
> I had to add '<build_dir>/gcc' to the path.  I didn't track down
> why--later stages of a gcc build might have broken too, I suspect.
> 
> All regressions passed with the following diffs (no -u option on diff):
> 
> ==========
> % diff -c gm2/cpp/pass/subaddr.mod.dist gm2/cpp/pass/subaddr.mod
> *** gm2/cpp/pass/subaddr.mod.dist       Wed Jan 11 08:24:56 2006
> --- gm2/cpp/pass/subaddr.mod    Wed Jan 11 13:16:12 2006
> ***************
> *** 22,28 ****
>      x, y: ADDRESS;
>      i   : CARDINAL;
>   BEGIN
> ! #if !defined(__x86_64)
>      i := CARDINAL(x - y)
>   #endif
>   END subaddr.
> --- 22,28 ----
>      x, y: ADDRESS;
>      i   : CARDINAL;
>   BEGIN
> ! #if !(defined(__x86_64) || (defined(__alpha__) && defined(__arch64__)))
>      i := CARDINAL(x - y)
>   #endif
>   END subaddr.
> % diff -c gm2/iso/pass/realbitscast.mod.dist
> gm2/iso/pass/realbitscast.mod
> *** gm2/iso/pass/realbitscast.mod.dist  Wed Jan 11 08:24:57 2006
> --- gm2/iso/pass/realbitscast.mod       Wed Jan 11 12:28:28 2006
> ***************
> *** 25,33 ****
>       BITS96 = SET OF [0..95] ;
>       REAL32 = SHORTREAL;
>       REAL64 = REAL;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__)
>       REAL96 = LONGREAL ;  (* on the __sparc__ SIZE(LONGREAL) =
> SIZE(REAL) *)
>       (* and on the x86_64 LONGREAL is 128 bits *)
>       (* for __ppc__, LONGREAL is 64 bits in gcc-3.3 *)
>   #endif
> 
> --- 25,34 ----
>       BITS96 = SET OF [0..95] ;
>       REAL32 = SHORTREAL;
>       REAL64 = REAL;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__) &&
> !(defined(__alpha__) && defined(__arch64__))
>       REAL96 = LONGREAL ;  (* on the __sparc__ SIZE(LONGREAL) =
> SIZE(REAL) *)
>       (* and on the x86_64 LONGREAL is 128 bits *)
> +     (* this is also true for at least some alphas *)
>       (* for __ppc__, LONGREAL is 64 bits in gcc-3.3 *)
>   #endif
> 
> ***************
> *** 36,42 ****
>       b64 : BITS64;
>       r32 : REAL32;
>       r64 : REAL64;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__)
>       b96 : BITS96 ;
>       r96 : REAL96 ;
>   #endif
> --- 37,43 ----
>       b64 : BITS64;
>       r32 : REAL32;
>       r64 : REAL64;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__) &&
> !(defined(__alpha__) && defined(__arch64__))
>       b96 : BITS96 ;
>       r96 : REAL96 ;
>   #endif
> ***************
> *** 45,51 ****
>      r32 := 1.0 ;
>      b32 := CAST(BITS32,r32) ;
>      b64 := CAST(BITS64,r64) ;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__)
>      b96 := CAST(BITS96,r96)
>   #endif
>   END realbitscast.
> --- 46,52 ----
>      r32 := 1.0 ;
>      b32 := CAST(BITS32,r32) ;
>      b64 := CAST(BITS64,r64) ;
> ! #if !defined(__sparc__) && !defined(__x86_64) && !defined(__ppc__)  &&
> !(defined(__alpha__) && defined(__arch64__))
>      b96 := CAST(BITS96,r96)
>   #endif
>   END realbitscast.
> ==========

thanks for the patch..

> 
> The gm2.paranoid test failed, not unexpectedly, on FifoQueue.mod.

interesting - what endian ness does the Alpha use? Is it the same as
the ppc? If so I suspect there is a bug in set arithmetic on bigendian
systems.. just a theory.. in essence I guess fixing the ppc port "make
gm2.paranoid" will probably fix the Alpha. If the above theory is true..

> FreeBSD 4.11 (not the newest, but it's what I have access to):
> 
> I had to specify 'MAKE=<path>/gmake' on the command line, in addition to
> specifying bash.
> 
> Three regressions (well, one with different switches) failed on the
> compile/link and three (from that) were unresolved.  The file was
> 
> testsuite/gm2/pimlib/logitech/run/pass/realconv.mod
> 
> The problem is that there are apparently no long double libraries on the
> system.  At least sinl, cosl, sqrtl, fabsl, logl and expl were
> unresolved.

ok, perhaps we need some configure rules to spot lack of libraries..

> However, gm2.paranoid PASSED.

super.. the later is quite an extensive test,

regards,
Gaius



reply via email to

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