swarm-support
[Top][All Lists]
Advanced

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

Re: ASM on Compaq(DEC) Tru64 UNIX


From: W . Northcott
Subject: Re: ASM on Compaq(DEC) Tru64 UNIX
Date: Thu, 1 Feb 2001 21:08:42 +1000



Marcus wrote:
>These probe problems should be fixed now.  Please try the 2001-01-31
snapshot.

The fixes for alpha in sendmsg.c around L525 still need to be done.  (see
diff below) Also it would save time if the file tests/simtools/File.test
could either be removed or made writable.

With those small patches your 2001-01-31 snapshot compiles, passes all
tests and will run ArtStkMkt in default mode.
However, if write simulation data is selected in the ASM set up dialogues
it will crash fairly soon with:
*** event raised for error: InvalidArgument
*** function: nil_method(), file: internal.m, line: 628
The message `getPrice' was sent to nil.
*** execution terminating due to error
Symbol.m:173 -[Error(c) _raiseEvent:]
Abort (core dumped)

I will look at this in the morning.

Bill Northcott

diff -c -r ../swarm-2001-01-31/libobjc/sendmsg.c
../swarm-2001-01-31a/libobjc/sendmsg.c
*** ../swarm-2001-01-31/libobjc/sendmsg.c       Tue Jan 23 11:42:59 2001
--- ../swarm-2001-01-31a/libobjc/sendmsg.c      Thu Feb  1 20:08:06 2001
***************
*** 514,534 ****
  __objc_double_forward (id rcv, SEL op, ...)
  {
    void *args, *res;
!
    args = __builtin_apply_args ();
    res = __objc_forward (rcv, op, args);
! #ifndef __alpha__
!   __builtin_return (res);
  #else
!   /* Emprically determined -- very fragile! -mgd */
!   {
!     const char *type = sel_get_type (op);
!
!     if (*type == _C_FLT)
!       return ((float *) res)[38];
!     else
!       return ((double *) res)[19];
!   }
  #endif
  }

--- 514,531 ----
  __objc_double_forward (id rcv, SEL op, ...)
  {
    void *args, *res;
! #ifdef __alpha__
!   double ret;
!   double *retptr = &ret;
! #endif
    args = __builtin_apply_args ();
    res = __objc_forward (rcv, op, args);
! #ifdef __alpha__
!   /* Stuff the answer where we can find it - wjn */
!   asm ("stt $f0 ,%0" : "=g" (*retptr) );
!   return (ret);
  #else
!   __builtin_return (res);
  #endif
  }



                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

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