First I had to patch xtl/config.h with endian configuration for sparc to build, no big deal:
...
#elif defined(__sparc) || defined(__sparc__)
# ifndef __BYTE_ORDER
#
define __BYTE_ORDER __BIG_ENDIAN
# endif
...
The auto.cpp had an g++ internal compiler error, so I sent gnats a report
on that, but the other demos build ok. Some of them die with a bus
error though.
I am using gcc-2.95.2 on Solaris 2.8. Here is a stack trace
devomniapp{/mfg/groups/ohtse/pkgs/xtl-1.4/examples/tests}: ./raw
Testing ./raw: Bus Error (core dumped)
devomniapp{/mfg/groups/ohtse/pkgs/xtl-1.4/examples/tests}: gdb
raw core
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License,
and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty"
for details.
This GDB was configured as "sparc-sun-solaris2.8"...
Core was generated by `./raw'.
Program terminated with signal 10, Bus Error.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1...done.
#0 0x48b88 in void raw_format<mem_buffer>::output_simple<short>
(
this=0xffbee540, data=@0xffbee6f8) at ../../include/xtl/objio.h:101
101
{*((T*)desire(sizeof(T)))=data;}
(gdb) bt
#0 0x48b88 in void raw_format<mem_buffer>::output_simple<short>
(
this=0xffbee540, data=@0xffbee6f8) at ../../include/xtl/objio.h:101
#1 0x48108 in obj_output<raw_format<mem_buffer>, no_refs>::simple
(
this=0xffbee538, data=@0xffbee6f8) at ../../include/xtl/objio.h:327
#2 0x47e04 in void numbers::composite<obj_output<raw_format<mem_buffer>,
no_refs> > (this=0xffbee6f0, stream=@0xffbee538) at ../alltests.h:53
#3 0x47c90 in void composite<obj_output<raw_format<mem_buffer>,
no_refs>, numbers> (stream=@0xffbee538, data=@0xffbee6f0) at ../../include/xtl/objio.h:482
#4 0x47a14 in obj_output<raw_format<mem_buffer>, no_refs>
& obj_output<raw_format<mem_buffer>, no_refs>::simple<numbers>
(this=0xffbee538, data=@0xffbee6f0)
at ../../include/xtl/objio.h:428
#5 0x47964 in void all_tests::composite<obj_output<raw_format<mem_buffer>,
no_refs> > (this=0xffbee6f0, stream=@0xffbee538) at ../alltests.h:392
#6 0x47940 in void composite<obj_output<raw_format<mem_buffer>,
no_refs>, all_tests> (stream=@0xffbee538, data=@0xffbee6f0) at ../../include/xtl/objio.h:482
#7 0x478e4 in obj_output<raw_format<mem_buffer>, no_refs>
& obj_output<raw_format<mem_buffer>, no_refs>::composite<all_tests>
(this=0xffbee538,
data=@0xffbee6f0) at ../../include/xtl/objio.h:419
#8 0x27d84 in output (buf=0xffbee818 "", to=@0xffbee6f0)
at rawo.cpp:22
#9 0x27a14 in main (argc=1, argv=0xffbef82c) at main.cpp:31
(gdb)
In the tests/ subdirectory, giop, oraw, and raw all die on SIGBUS. The xdr tests work, though. Any ideas why? Core and the 'raw' binary are attached.
Casey
begin:vcard n:Marshall;Casey tel;pager:888.660.9302 tel;work:512.895.8723 x-mozilla-html:TRUE org:Motorola SPS;Breakaway Test Software Engineering adr:;;6501 William Cannon Drive West;Austin;TX;78735;USA version:2.1 email;internet:ra9569@email.sps.mot.com title:Software Developer fn:Casey Marshall end:vcard