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

Re: Porting xtl to DEC Alpha



Angus> Having fought off an attack of flu, I have now tweaked the xtl headers so that I
Angus> can now run compile (with gcc-2.95.2) and run the "xdr" program in the
Angus> examples/tests directory.

Josť> Great! This puts us closer to a really portable release.

Further progress. (I've been trying to get examples/tests/xdr running
faultlessly. Everything below refers to that.)

+ xdr now compiles on Alphas running  Linux Alpha or Tru64 unix.

+ it can be compiled with both gcc-2.95.2 and DEC cxx.

+ running it results in PASSED status. 
  There is a bug in bswap_64() in byteswap.h for Linux Alpha so that the old code FAILED:
	union {	unsigned long long int __ll;
		unsigned long int __l[2]; }
  is wrong because "long long int" and "long int" have sizeof() 8 on the Alpha!

+ "unaligned access error"s associated with input_simple(number),
output_simple(number) for all the number types have been resolved.

+ "unaligned access error"s associated with input_raw(), output_raw() still
exist. I'll sort that out presently.

I've been modifying the version of xtl that is publicly available on your web
site (xtl-1.3.tar.gz). Allan Rae, (who is attempting to use xtl in LyX),
suggests that I work from 1.3.pl.4 and that, therefore I should ask you for
this patch. I'll then send the resultant patch back to you (when it all works
cleanly!).

Incidentally, in text.h you use snprintf() to output data. snprintf() does not
exist on Tru64 unix (or on many other unices). Do you have any ideas of the
best way forward? The printf() functions on this machine are:

fprintf() printf() sprintf() vfprintf() vprintf() vsprintf()

Best wishes,
Angus