public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joel Sherrill <joel@rtems.org>
To: Gabriele Bulfon <gbulfon@sonicle.com>
Cc: GCC <gcc@gcc.gnu.org>
Subject: Re: Build of any gcc breaks on my sparc / illumos env
Date: Mon, 20 Jun 2022 08:21:06 -0500	[thread overview]
Message-ID: <CAF9ehCW+j1cbE7scqjMxDw0NN-Wq31vOPpV=KoYgNeGsKj9Y-A@mail.gmail.com> (raw)
In-Reply-To: <784163289.4050.1655724206563@www>

On Mon, Jun 20, 2022, 7:23 AM Gabriele Bulfon <gbulfon@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 <joel@rtems.org>
> *A:* Gabriele Bulfon <gbulfon@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	other threads:[~2022-06-20 13:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20 10:13 Gabriele Bulfon
2022-06-20 11:04 ` Joel Sherrill
2022-06-20 11:23   ` Gabriele Bulfon
2022-06-20 13:21     ` Joel Sherrill [this message]
2022-06-20 16:09       ` Gabriele Bulfon
2022-06-21 11:44         ` Joel Sherrill
2022-07-05 17:44           ` Gabriele Bulfon
2022-06-21  7:39 ` Eric Botcazou
2022-07-05 17:38   ` Gabriele Bulfon
2022-07-05 18:04     ` Rainer Orth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAF9ehCW+j1cbE7scqjMxDw0NN-Wq31vOPpV=KoYgNeGsKj9Y-A@mail.gmail.com' \
    --to=joel@rtems.org \
    --cc=gbulfon@sonicle.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).