On Mon, Jun 20, 2022, 5:14 AM Gabriele Bulfon via Gcc <gcc@gcc.gnu.org>
wrote:

> Hi,
>
> I'm the maintainer of the XStreamOS/illumos distro, mainly x86 but we also
> have a sparc version.
> I'm currently trying to upgrade a T4 system running XStreamOS/sparc as of
> illumos 2019.
> This system contains a gcc 4.7 that I used to build all the various
> userland components, built on a previous XStreamOS basic system through a
> gcc 3.
> I don't know what changed in the env of the T4 system, with respect to the
> previous where I built gcc 4.7.
> On this system I cannot build any of gcc 5,6,7,8,9,10.
> The build always breaks here:
>
> libtool: link:
>  
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/xgcc
> -shared-libgcc
> -B/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc
> -nostdinc++
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs
> -B/usr/gcc/6/sparc-sun-solaris2.11/bin/
> -B/usr/gcc/6/sparc-sun-solaris2.11/lib/ -isystem
> /usr/gcc/6/sparc-sun-solaris2.11/include -isystem
> /usr/gcc/6/sparc-sun-solaris2.11/sys-include    -shared -nostdlib
>  /usr/lib/crti.o /usr/lib/values-Xa.o
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/crtbeginS.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/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs
> -lm
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc
> -lgcc_s -lc -lgcc_s -lc
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/crtendS.o
> /usr/lib/crtn.o  -Wl,-M -Wl,libstdc++-symbols.ver-sun   -Wl,-h
> -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.22
> ld: fatal: relocation error: R_SPARC_DISP32: file .libs/compatibility.o:
> symbol .gcc_except_table (section): offset 0xffffffff74d8ddf1 is non-aligned
> ld: fatal: relocation error: R_SPARC_DISP32: file .libs/compatibility.o:
> symbol .gcc_except_table (section): offset 0xffffffff74d8de11 is non-aligned
> ld: fatal: relocation error: R_SPARC_DISP32: file
> .libs/compatibility-atomic-c++0x.o: symbol .gcc_except_table (section):
> offset 0xffffffff74d8de99 is non-aligned
> ld: fatal: relocation error: R_SPARC_DISP32: file
> .libs/compatibility-atomic-c++0x.o: symbol .gcc_except_table (section):
> offset 0xffffffff74d8deb9 is non-aligned
> ...
>

Any chance the linker script is missing an align directive ahead of this
section? Or it is insufficient? Or (unlikely) broken?

--joel


> As an example, the ".libs/compatibility.o" file is built like this:
>
> libtool: compile:
>  
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/xgcc
> -shared-libgcc
> -B/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc
> -nostdinc++
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs
> -L/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs
> -B/usr/gcc/6/sparc-sun-solaris2.11/bin/
> -B/usr/gcc/6/sparc-sun-solaris2.11/lib/ -isystem
> /usr/gcc/6/sparc-sun-solaris2.11/include -isystem
> /usr/gcc/6/sparc-sun-solaris2.11/sys-include
> -I/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/include/sparc-sun-solaris2.11
> -I/data/sources/sonicle/xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/include
> -I/data/sources/sonicle/xstream-userland-gate/components/gcc-6/gcc-6.5.0/libstdc++-v3/libsupc++
> -std=gnu++98 -fPIC -DPIC -fno-implicit-templates -Wall -Wextra
> -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once
> -ffunction-sections -fdata-sections -frandom-seed=compatibility.lo -g -O2
> -c
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/gcc-6.5.0/libstdc++-v3/src/c++98/compatibility.cc
>  -fPIC -DPIC -D_GLIBCXX_SHARED -o .libs/compatibility.o
>
> I cannot find what is causing this non-aligned problem.
> This is how configure is invoked:
>
> /data/sources/sonicle/xstream-userland-gate/components/gcc-6/gcc-6.5.0/configure
> --prefix=/usr/gcc/6 --mandir=/usr/gcc/6/share/man --bindir=/usr/gcc/6/bin
> --libdir=/usr/gcc/6/lib --sbindir=/usr/gcc/6/sbin --infodir=/usr/share/info
> --sysconfdir=/etc --without-gnu-as --with-as=/usr/bin/as
> --build=sparc-sun-solaris2.11  --sbindir=/usr/gcc/6/bin
> --libdir=/usr/gcc/6/lib --libexecdir=/usr/gcc/6/lib --host
> sparc-sun-solaris2.11 --build sparc-sun-solaris2.11 --target
> sparc-sun-solaris2.11 --with-pkgversion="XStreamOS 6.5.0-XS-2"
> --with-bugurl="https://bugs.xstreamos.org"; --enable-plugins
> --enable-objc-gc --enable-initfini-array
> --enable-languages=c,c++,fortran,lto,objc --without-gnu-ld
> --with-ld=/usr/bin/ld
> --with-build-time-tools=/usr/gnu/sparc-sun-solaris2.11/bin --disable-libitm
> --without-gnu-as --with-as=/usr/bin/as LDFLAGS="-R/usr/gcc/6/lib"
>
> As you can see, I use both illumos as and ld, but I also tried using gnu
> as with the same result.
> I also tried using gnu ld (which is not recommended on a sparc build,
> AFAIK), but that brought in different problems earlier.
>
> Anyone can help?
>
> Thanks!
> Gabriele
>
>
>
> Sonicle S.r.l. : http://www.sonicle.com
> Music: http://www.gabrielebulfon.com
> eXoplanets : https://gabrielebulfon.bandcamp.com/album/exoplanets
>
>
>

Reply via email to