gcc 4.9 on solaris 9 sparc (alignment)

Riccardo Mottola rmottola at opencsw.org
Wed Apr 8 15:18:27 CEST 2015


Hi,

I attempted a build of gcc 4.8.4 on Solaris 9 SPARC and I get the same 
errors a below, that version was officially supported and worked and is 
a good package candidate. I wonder thus why we are having this problem.

<...>
ld: fatal: relocation error: R_SPARC_32: file .libs/compatibility.o: 
symbol __gxx_personality_v0: offset 0xe0387 is non-aligned
<...>
and many more

thus I start to fear it is some problem with our linker/AS chain ... 
peple reported this apparently when boostrapping with older version of 
gcc, but our is gcc4 already.

Riccardo

Riccardo Mottola wrote:
> Hi,
>
> while trying to build gcc 4.9 on solaris9 sparc I get the alignment 
> errors pasted below.
>
> I did some research, people got this on older versions on solaris with 
> old linkers, but the posts are very old. I am bootstrapping with gcc 
> 4.6 instead.
>
> Do you have clues? ideas?
>
> It is officially reported to still build:
> https://gcc.gnu.org/gcc-4.9/buildstat.html
>
> Riccardo
>
>
> libtool: link: 
> /home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc/xgcc 
> -shared-libgcc 
> -B/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc 
> -nostdinc++ 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/src 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/src/.libs 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/libsupc++/.libs 
> -B/opt/csw/sparc-sun-solaris2.9/bin/ 
> -B/opt/csw/sparc-sun-solaris2.9/lib/ -isystem 
> /opt/csw/sparc-sun-solaris2.9/include -isystem 
> /opt/csw/sparc-sun-solaris2.9/sys-include    -shared -nostdlib 
> /home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc/crti.o 
> /usr/ccs/lib/values-Xa.o 
> /home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc/crtbegin.o 
> .libs/compatibility.o .libs/compatibility-debug_list.o 
> .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o 
> .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o 
> .libs/compatibility-chrono.o .libs/compatibility-condvar.o  -Wl,-z 
> -Wl,allextract ../libsupc++/.libs/libsupc++convenience.a 
> ../src/c++98/.libs/libc++98convenience.a 
> ../src/c++11/.libs/libc++11convenience.a -Wl,-z -Wl,defaultextract 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/libsupc++/.libs 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/src 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/sparc-sun-solaris2.9/libstdc++-v3/src/.libs 
> -lm -lrt 
> -L/home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc 
> -L/opt/csw/sparc-sun-solaris2.9/bin 
> -L/opt/csw/sparc-sun-solaris2.9/lib -L/usr/ccs/lib -lgcc_s -lc -lgcc_s 
> -lc 
> /home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc/crtend.o 
> /home/rmottola/opencsw/gcc4/trunk/work/solaris9-sparc/build-isa-sparcv8plus/objdir/./gcc/crtn.o 
> -Wl,-M -Wl,libstdc++-symbols.ver-sun   -Wl,-h -Wl,libstdc++.so.6 -o 
> .libs/libstdc++.so.6.0.20
> ld: fatal: relocation error: R_SPARC_32: file .libs/compatibility.o: 
> symbol __gxx_personality_v0: offset 0xf94df is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> .libs/compatibility-chrono.o: symbol __gxx_personality_v0: offset 
> 0xf975f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(atexit_thread.o): symbol 
> __gxx_personality_v0: offset 0xf981b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_alloc.o): symbol 
> __gxx_personality_v0: offset 0xf9d83 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_globals.o): symbol 
> __gxx_personality_v0: offset 0xfa0af is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_personality.o): symbol 
> __gxx_personality_v0: offset 0xfa203 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_ptr.o): symbol 
> __gxx_personality_v0: offset 0xfa30f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_terminate.o): symbol 
> __gxx_personality_v0: offset 0xfa44b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(eh_tm.o): symbol 
> __gxx_personality_v0: offset 0xfa57f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(guard.o): symbol 
> __gxx_personality_v0: offset 0xfa91b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(new_opnt.o): symbol 
> __gxx_personality_v0: offset 0xfab73 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(new_opv.o): symbol 
> __gxx_personality_v0: offset 0xfabab is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(vec.o): symbol 
> __gxx_personality_v0: offset 0xfaf57 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../libsupc++/.libs/libsupc++convenience.a(vterminate.o): symbol 
> __gxx_personality_v0: offset 0xfb137 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(bitmap_allocator.o): symbol 
> __gxx_personality_v0: offset 0xfb283 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(pool_allocator.o): symbol 
> __gxx_personality_v0: offset 0xfbab7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(mt_allocator.o): symbol 
> __gxx_personality_v0: offset 0xfbec3 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(codecvt.o): symbol 
> __gxx_personality_v0: offset 0xfc2cf is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(complex_io.o): symbol 
> __gxx_personality_v0: offset 0xfc4bb is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ctype.o): symbol 
> __gxx_personality_v0: offset 0xfc607 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ios.o): symbol 
> __gxx_personality_v0: offset 0xfc857 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ios_failure.o): symbol 
> __gxx_personality_v0: offset 0xfc97f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ios_init.o): symbol 
> __gxx_personality_v0: offset 0xfca2b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(locale.o): symbol 
> __gxx_personality_v0: offset 0xfce53 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(locale_init.o): symbol 
> __gxx_personality_v0: offset 0xfd147 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(localename.o): symbol 
> __gxx_personality_v0: offset 0xfd2c7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(stdexcept.o): symbol 
> __gxx_personality_v0: offset 0xfd837 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(strstream.o): symbol 
> __gxx_personality_v0: offset 0xfdbd7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(istream.o): symbol 
> __gxx_personality_v0: offset 0xfe26f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(valarray.o): symbol 
> __gxx_personality_v0: offset 0xfe4df is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ctype_members.o): symbol 
> __gxx_personality_v0: offset 0xfe7d3 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(monetary_members.o): symbol 
> __gxx_personality_v0: offset 0xfea03 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(numeric_members.o): symbol 
> __gxx_personality_v0: offset 0xfeb5f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(time_members.o): symbol 
> __gxx_personality_v0: offset 0xfec0f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(basic_file.o): symbol 
> __gxx_personality_v0: offset 0xfed27 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(c++locale.o): symbol 
> __gxx_personality_v0: offset 0xfee8f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ext-inst.o): symbol 
> __gxx_personality_v0: offset 0xff24b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ios-inst.o): symbol 
> __gxx_personality_v0: offset 0xff7b7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(iostream-inst.o): symbol 
> __gxx_personality_v0: offset 0xffc23 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(istream-inst.o): symbol 
> __gxx_personality_v0: offset 0xffe5b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(locale-inst.o): symbol 
> __gxx_personality_v0: offset 0x101063 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(misc-inst.o): symbol 
> __gxx_personality_v0: offset 0x102d87 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(ostream-inst.o): symbol 
> __gxx_personality_v0: offset 0x102f73 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(sstream-inst.o): symbol 
> __gxx_personality_v0: offset 0x103b4f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(streambuf-inst.o): symbol 
> __gxx_personality_v0: offset 0x104843 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++98/.libs/libc++98convenience.a(wlocale-inst.o): symbol 
> __gxx_personality_v0: offset 0x1053d3 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(chrono.o): symbol 
> __gxx_personality_v0: offset 0x106ef7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(debug.o): symbol 
> __gxx_personality_v0: offset 0x10707b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(functexcept.o): symbol 
> __gxx_personality_v0: offset 0x10749f is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(future.o): symbol 
> __gxx_personality_v0: offset 0x107817 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(regex.o): symbol 
> __gxx_personality_v0: offset 0x107ae7 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(fstream-inst.o): symbol 
> __gxx_personality_v0: offset 0x107f9b is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(string-inst.o): symbol 
> __gxx_personality_v0: offset 0x108e63 is non-aligned
> ld: fatal: relocation error: R_SPARC_32: file 
> ../src/c++11/.libs/libc++11convenience.a(wstring-inst.o): symbol 
> __gxx_personality_v0: offset 0x10a013 is non-aligned
> collect2: error: ld returned 1 exit status
> gmake[6]: *** [libstdc++.la] Error 1
>



More information about the maintainers mailing list