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
>>>
>>>
>>>

Reply via email to