(Illustration by Gaich Muramatsu)
On Tue, Jan 23, 2001 at 04:47:01PM +0100, Jigal Weinberg wrote: > Hi, > > I am trying to get coda to run on my alpha machine. > Whitch might not be a good idea. But nonetheless I am trying it. We have LWP and RVM cleaned up and working well on the Alpha processors. The next big step will be RPC2. The biggest problem is: - typedef long RPC2_Integer; + typedef int RPC2_Integer; After that all hell breaks loose, but... the RPC2_Integer must become a 32-bit value on Alpha. Later on a 64-bit type could be defined, but all existing (and working) platforms assume RPC2_Integer to be 32-bits. > When compiling I encountered a few problems with casts. > vice_file.c: In function `vice_file': > vice_file.c:52: warning: cast to pointer from integer of different size Yes, but you don't see the hundreds of problems that are hidden by casts and obscurity, such as in the rpc2 marshalling/unmarshalling code, *(RPC2_Integer *)_ptr = (RPC2_Integer)value1; (char *)_ptr += 4; *(RPC2_Integer *)_ptr = (RPC2_Integer)value2; (char *)_ptr += 4; The compiler will not give you any warnings, but a lot of important data gets lost or corrupted this way. > Next I got an error per taining the following message: > > Rdsinit will initialize data and log. > This takes a while. > rvm_initialize succeeded. > Going to initialize data file to zero, could take awhile. > done. > rdsinit: rds_init.c:107: rds_init_heap: Assertion `(char *)addr <= base + length' failed. > /usr/sbin/vice-setup-rvm: line 300: 16575 Aborted /usr/sbin/rdsinit -f $log $data $parms rdsinit will work on the Alpha, it just needs to have the right parameters. It looks like some length is not big enough either heap, static, or total segment length. JanReceived on 2001-01-23 11:08:37