Who may be responsible for this alignment? The same Makefile has been used in other distros, and the same 4.7 that I'm using was built on another previous system without problems, but now produces this error itself on the new system. I bet this is something about the env on the new system, but I don't know what piece is responsible for this alignment. Any clue? Gabriele Sonicle S.r.l. : http://www.sonicle.com Music: http://www.gabrielebulfon.com eXoplanets : https://gabrielebulfon.bandcamp.com/album/exoplanets
Da: Joel Sherrill <j...@rtems.org> A: Gabriele Bulfon <gbul...@sonicle.com> Cc: GCC <gcc@gcc.gnu.org> Data: 20 giugno 2022 13.04.17 CEST Oggetto: Re: Build of any gcc breaks on my sparc / illumos env 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