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
 




Reply via email to