Well we got gcc's verbose but in the we need ld's. Should be something like -Wl,-v
If someone actually knew offhand which linker script template of used in this cases it would help. I don't and always have to dig. --joel On Mon, Jun 20, 2022, 12:09 PM Gabriele Bulfon <gbul...@sonicle.com> wrote: > Thanks! This is what I get adding "-v", and to me it's not telling > anything interesting, maybe you can see more than I can? > > Reading specs from > /data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/specs > > COLLECT_GCC=/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/xgcc > > COLLECT_LTO_WRAPPER=/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/lto-wrapper > Target: sparc-sun-solaris2.11 > Configured with: > /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/spar > c-sun-solaris2.11/bin --disable-libitm --without-gnu-as > --with-as=/usr/bin/as LDFLAGS=-R/usr/gcc/6/lib > Thread model: posix > gcc version 6.5.0 (XStreamOS 6.5.0-XS-2) > > COMPILER_PATH=/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/:/usr/ccs/bin/ > > LIBRARY_PATH=/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/:/lib/:/usr/lib/ > COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-B' > '/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc' > '-nostdinc++' '-L/data/sources/sonicle/old-xstream-userl > and-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src' > '-L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstd > c++-v3/src/.libs' > '-L/data/sources/sonicle/old-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' '-L/ > data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs' > '-L/data/sources/sonicle/old-xstream-userland-gate/component > s/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src' > '-L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs' > '-L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc' > '-o' '.libs/libstdc++.so.6.0.22' '-mcpu=v9' > > /data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc/collect2 > -V -G -dy -z text -M > /data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/spa > rcv7/./gcc/libgcc-unwind.map -Y P,/usr/gcc/6/lib:/lib:/usr/lib -R > /usr/gcc/6/lib -L /usr/gcc/6/lib -Qy -o .libs/libstdc++.so.6.0.22 > -L/data/sources/sonicle/old-xstream-userland-gate/componen > ts/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src > -L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs > -L > /data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs > -L/data/sources/sonicle/old-xstream-userland-gate/components > /gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/libsupc++/.libs > -L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/sr > c > -L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/sparc-sun-solaris2.11/libstdc++-v3/src/.libs > -L/data/sources/sonicle/old-xstream-userland-gate/components/g > cc-6/build/sparcv7/./gcc > -L/data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gcc > /usr/lib/crti.o /usr/lib/values-Xa.o > /data/sources/sonicle/old-xstream-userlan > d-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/compatibil > ity-atomic-c++0x.o .libs/compatibility-thread-c++0x.o > .libs/compatibility-chrono.o .libs/compatibility-condvar.o -z allextract > ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/li > bc++98convenience.a ../src/c++11/.libs/libc++11convenience.a -z > defaultextract -lm -lgcc_s -lc -lgcc_s -lc > /data/sources/sonicle/old-xstream-userland-gate/components/gcc-6/build/sparcv7/./gc > c/crtendS.o /usr/lib/crtn.o -M libstdc++-symbols.ver-sun -h libstdc++.so.6 > ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1756 > (illumos) > ld: fatal: relocation error: R_SPARC_DISP32: file .libs/compatibility.o: > symbol .gcc_except_table (section): offset 0xffffffff7518de91 is non-aligned > ld: fatal: relocation error: R_SPARC_DISP32: file .libs/compatibility.o: > symbol .gcc_except_table (section): offset 0xffffffff7518deb1 is non-aligned > ld: fatal: relocation error: R_SPARC_DISP32: file > .libs/compatibility-atomic-c++0x.o: symbol .gcc_except_table (section): > offset 0xffffffff7518df39 is non-aligned > ld: fatal: relocation error: R_SPARC_DISP32: file > .libs/compatibility-atomic-c++0x.o: symbol .gcc_except_table (section): > offset 0xffffffff7518df59 is non-aligned > ld: fatal: relocation error: R_SPARC_DISP32: file > .libs/compatibility-thread-c++0x.o: symbol .gcc_except_table (section): > offset 0xffffffff7518dfb5 is non-aligned > ld: fatal: relocation error: R_SPARC_DISP32: file > .libs/compatibility-thread-c++0x.o: symbol .gcc_except_table (section): > offset 0xffffffff7518dff5 is non-aligned > > > *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 15.21.06 CEST > *Oggetto:* Re: Build of any gcc breaks on my sparc / illumos env > > > > > On Mon, Jun 20, 2022, 7:23 AM Gabriele Bulfon <gbul...@sonicle.com> wrote: > >> 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. >> > > This would come from binutils. Did you upgrade those also? > > I think if you use a -v on the linking gcc invocation, it should show the > linker.xommand and script used. Just follow that info to locate the linker > script and then look just before the unaligned section. > > --joel > >> >> 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 >>> >>> >>>