with gcc 4.0.2, I get the same segfault as already reported on this list.
When using gcc 3.4.3, I get the following error:
...
g++ -shared -nostdlib
/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/crti.o
/usr/ccs/lib/values-Xa.o
/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/crtbegin.o
.libs/mpoly.o .libs/gc.o .libs/diagnostics.o .libs/arb.o .libs/reals.o
.libs/timing.o .libs/processes.o .libs/profiling.o .libs/realconv.o
.libs/objsize.o .libs/proper_io.o .libs/foreign.o .libs/process_env.o
.libs/basicio.o .libs/network.o .libs/unix_specific.o .libs/sighandler.o
.libs/xwindows.o .libs/check_objects.o .libs/scanaddrs.o
.libs/polystring.o .libs/run_time.o .libs/osmem.o .libs/save_vec.o
.libs/rts_module.o .libs/bitmap.o .libs/poly_specific.o .libs/exporter.o
.libs/sharedata.o .libs/memmgr.o .libs/pexport.o .libs/sparc_dep.o
.libs/sparc_assembly.o .libs/elfexport.o -Wl,-R -Wl,/usr/sfw/lib -Wl,-R
-Wl,/usr/sfw/lib -lsocket -lnsl -ldl -lgcc
-L/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3
-L/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc
-L/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3
-L/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/lib
-L/usr/ccs/lib
-L/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/../../..
-L/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../..
/usr/sfw/lib/libstdc++.so -L/usr/sfw/lib -lm -lgcc_s
/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/crtend.o
/usr/o0/gcc-3.4.3/sparc-sun-solaris2/usr/sfw/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/crtn.o
-Wl,-h -Wl,libpolyml.so.0 -o .libs/libpolyml.so.0.0.0
ld: fatal: relocation error: R_SPARC_32: file .libs/sparc_assembly.o:
symbol <unknown>: offset 0xfe34b57b is non-aligned
ld: fatal: relocation error: R_SPARC_32: file .libs/sparc_assembly.o:
symbol <unknown>: offset 0xfe34b581 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file .libs/sparc_assembly.o:
symbol <unknown>: offset 0xfe34b585 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file .libs/sparc_assembly.o:
symbol <unknown>: offset 0xfe34b589 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file .libs/sparc_assembly.o:
symbol <unknown>: offset 0xfe3886f6 is non-aligned
collect2: ld returned 1 exit status
*** Error code 1
My system is
[pergolesi] ~/opt/src/polyml.5.0 $ uname -a
SunOS pergolesi 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V240
[pergolesi] ~/opt/src/polyml.5.0 $ gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Thanks in advance for any hints/help and greetings
Peter Lammich