Bug 10805 – [sun-solaris2.7] relocation error when creating sparcv9/libgcc_s.so.1
bootstrap fails
it ends with:
./xgcc ... -o sparcv9/libgcc_s.so.1 ...
and a lot of:
ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o: symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned
ld: fatal: relocation error: R_SPARC_64: file libgcc/sparcv9/_muldi3.o: symbol <unknown>: offset 0xffffffff7ec133eb is non-aligned
I must add that gcc-3.2.3 works just fine in both 32 and 64-bits modes.
Release:
gcc-3.3
Environment:
SunOS 5.7 Generic sun4u sparc SUNW,Ultra-5_10
no patch
How-To-Repeat:
./configure --prefix=/some/where && make bootstrap
State-Changed-From-To: open->feedback
State-Changed-Why: I can't reproduce on SunOS vegeta 5.7 Generic_106541-23 sun4u sparc SUNW,Ultra-2
with cc: Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09
as the bootstrap compiler.
Could you determine at which stage bootstrap fails?
If the compiler's C source files were latterly compiled by cc, it's stage1.
If they were compiled by stage1/xgcc, it's stage2 and if they were
compiled by stage2/xgcc, it's stage3.
And could you post the ouput of 'dump -r _muldi3.o'?
From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: ebotcazou@gcc.gnu.org
Cc: glisse@sequoia.ens.fr,
nobody@gcc.gnu.org,
gcc-gnats@gcc.gnu.org,
gcc-bugs@gcc.gnu.org
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating sparcv9/libgcc_s.so.1
Date: Fri, 16 May 2003 15:01:40 +0200
[Steven, it seems your mail server rejects my address]
Steven M. Christensen wrote:
> I have seen this same problem. See the file attached for
> more details. Did not have the problem with 3.2.3 on the
> exact same system with same configuration etc.
Which stage? I can't determine it with the logfile you sent. Which bootstrap
compiler did you use for GCC 3.2.3? Did you try it for GCC 3.3?
[635] libgcc> dump -r _muldi3.o
_muldi3.o:
**** RELOCATION INFORMATION ****
.rela.text:
Offset Symndx Type Addend
0xac 6 18 0
0xbc 6 18 0
.rela.stab:
Offset Symndx Type Addend
0x14 3 3 0
0x20 3 3 0
0xd70 5 3 0
0xe30 3 3 208
Sorry for not being clear enough, it's _multid3.o from libgcc/sparcv9 I want.
--
Eric Botcazou
From: Marc Glisse <marc.glisse@ens.fr>
To: ebotcazou@gcc.gnu.org, <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>,
<glisse@mmfai.ens.fr>, <nobody@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Cc:
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating
sparcv9/libgcc_s.so.1
Date: Fri, 16 May 2003 15:12:34 +0200 (MET DST)
On 16 May 2003 ebotcazou@gcc.gnu.org wrote:
> I can't reproduce on SunOS vegeta 5.7 Generic_106541-23 sun4u sparc SUNW,Ultra-2
> with cc: Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09
> as the bootstrap compiler.
One difference is that I do not have this patch. I will try to install it
as soon as I can. For the bootstrap compiler, I used:
cc: Sun WorkShop 6 2000/04/07 C 5.1
gcc (GCC) 3.2.2
And both give the same result.
> Could you determine at which stage bootstrap fails?
> If the compiler's C source files were latterly compiled by cc, it's stage1.
> If they were compiled by stage1/xgcc, it's stage2 and if they were
> compiled by stage2/xgcc, it's stage3.
first there is a lot of gcc. Then this gcc/xgcc. Actually this should be
clearer:
make[3]: *** [sparcv9/libgcc_s_sparcv9.so] Error 1
make[3]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
make: *** [bootstrap] Error 2
> And could you post the ouput of 'dump -r _muldi3.o'?
_muldi3.o:
**** RELOCATION INFORMATION ****
.rela.debug_info:
Offset Symndx Type Addend
0x6 3 23 0
0xc 9 3 0
0x10 6 32 152
0x18 6 32 0
0x3ee 2 23 12
0x48c 2 3 12
0x122f 2 23 0
0x123d 2 23 30
0x1375 2 23 0
0x1383 2 23 30
0x163e 2 23 39
0x1654 2 3 39
0x172f 6 54 0
0x1737 6 54 152
0x1786 6 54 28
0x178e 6 54 120
0x17a7 6 54 28
0x17af 6 54 120
.rela.debug_line:
Offset Symndx Type Addend
0x139 6 54 0
0x148 6 32 8
0x154 6 54 12
0x160 6 32 16
0x16c 6 54 28
0x178 6 32 116
0x184 6 54 128
0x190 6 32 132
0x19c 6 54 136
0x1a8 6 32 140
0x1b4 6 54 144
0x1c0 6 32 152
.rela.debug_frame:
Offset Symndx Type Addend
0x1c 7 3 0
0x20 6 32 0
.rela.debug_pubnames:
Offset Symndx Type Addend
0x6 4 23 0
.rela.debug_aranges:
Offset Symndx Type Addend
0x6 4 23 0
0x10 6 32 0
With the messages:
ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned
ld: fatal: relocation error: R_SPARC_64: file libgcc/sparcv9/_muldi3.o:
symbol <unknown>: offset 0xffffffff7ec133eb is non-aligned
ld: fatal: relocation error: R_SPARC_64: file libgcc/sparcv9/_muldi3.o:
symbol <unknown>: offset 0xffffffff7ec133f3 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
symbol <unknown>: offset 0xffffffff7ec13867 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
symbol <unknown>: offset 0xffffffff7ec14a2f is non-aligned
But about all the .o give this kind of messages.
The first thing I will do is get a patch cluster for solaris2.7.
From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: Marc Glisse <marc.glisse@ens.fr>
Cc: <gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<gcc-gnats@gcc.gnu.org>
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating sparcv9/libgcc_s.so.1
Date: Fri, 16 May 2003 17:11:49 +0200
> One difference is that I do not have this patch. I will try to install it
> as soon as I can. For the bootstrap compiler, I used:
> cc: Sun WorkShop 6 2000/04/07 C 5.1
> gcc (GCC) 3.2.2
>
> And both give the same result.
Steven Christensen tried with GCC 3.2.3 too and same result.
> > Could you determine at which stage bootstrap fails?
> > If the compiler's C source files were latterly compiled by cc, it's
> > stage1. If they were compiled by stage1/xgcc, it's stage2 and if they
> > were compiled by stage2/xgcc, it's stage3.
>
> first there is a lot of gcc. Then this gcc/xgcc. Actually this should be
> clearer:
>
> make[3]: *** [sparcv9/libgcc_s_sparcv9.so] Error 1
> make[3]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
> make[2]: *** [stmp-multilib] Error 2
> make[2]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
> make[1]: *** [stage1_build] Error 2
> make[1]: Leaving directory `/global/lavarenne/download/gcc-3.3/gcc'
> make: *** [bootstrap] Error 2
Ok, it's stage1. Given that we have the same problem with 3 different
bootstrap compilers, I'm inclined to suspect the Sun assembler.
> With the messages:
>
> ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
> symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned
>
> ld: fatal: relocation error: R_SPARC_64: file libgcc/sparcv9/_muldi3.o:
> symbol <unknown>: offset 0xffffffff7ec133eb is non-aligned
>
> ld: fatal: relocation error: R_SPARC_64: file libgcc/sparcv9/_muldi3.o:
> symbol <unknown>: offset 0xffffffff7ec133f3 is non-aligned
>
> ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
> symbol <unknown>: offset 0xffffffff7ec13867 is non-aligned
>
> ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
> symbol <unknown>: offset 0xffffffff7ec14a2f is non-aligned
>
> But about all the .o give this kind of messages.
I think the relocations type R_SPARC_32 and R_SPARC_64 are wrong here because
the offsets are rightfully unaligned. The same dump on my Solaris 7 box
shows only R_SPARC_UA32 and R_SPARC_UA64 types which are described by the
Sun docs as follows:
R_SPARC_UA32
This relocation type resembles R_SPARC_32, except that it refers to an
unaligned word. That is, the word to be relocated must be treated as four
separate bytes with arbitrary alignment, not as a word aligned according to
the architecture requirements.
--
Eric Botcazou
From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: Marc Glisse <marc.glisse@ens.fr>
Cc: <gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<gcc-gnats@gcc.gnu.org>
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating sparcv9/libgcc_s.so.1
Date: Tue, 20 May 2003 12:58:33 +0200
> One difference is that I do not have this patch. I will try to install it
> as soon as I can. For the bootstrap compiler, I used:
> cc: Sun WorkShop 6 2000/04/07 C 5.1
Which version of the Sun assembler do you have?
--
Eric Botcazou
From: Marc Glisse <marc.glisse@normalesup.org>
To: Eric Botcazou <ebotcazou@libertysurf.fr>
Cc: gcc-bugs@gcc.gnu.org, <nobody@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating
sparcv9/libgcc_s.so.1
Date: Tue, 20 May 2003 13:16:11 +0200 (MET DST)
On Tue, 20 May 2003, Eric Botcazou wrote:
> > One difference is that I do not have this patch. I will try to install it
> > as soon as I can. For the bootstrap compiler, I used:
> > cc: Sun WorkShop 6 2000/04/07 C 5.1
> Which version of the Sun assembler do you have?
as: WorkShop Compilers 5.0 Alpha 03/27/98 Build
as well give you this as well:
ld: Software Generation Utilities - Solaris/ELF (3.0)
--
Marc Glisse
From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: Marc Glisse <marc.glisse@normalesup.org>
Cc: gcc-bugs@gcc.gnu.org,
<nobody@gcc.gnu.org>,
<gcc-gnats@gcc.gnu.org>
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating sparcv9/libgcc_s.so.1
Date: Tue, 20 May 2003 14:00:30 +0200
> as: WorkShop Compilers 5.0 Alpha 03/27/98 Build
Ok. Steven (who reported the exact same failure) has the exact same version
as you, whereas I have:
as: WorkShop Compilers 5.0 98/12/21
Is it possible for you to try the same version as me?
--
Eric Botcazou
From: Marc Glisse <marc.glisse@normalesup.org>
To: Eric Botcazou <ebotcazou@libertysurf.fr>
Cc: gcc-bugs@gcc.gnu.org, <nobody@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: bootstrap/10805: [sun-solaris2.7] relocation error when creating
sparcv9/libgcc_s.so.1
Date: Tue, 20 May 2003 20:40:24 +0200 (MET DST)
> > as: WorkShop Compilers 5.0 Alpha 03/27/98 Build
> Ok. Steven (who reported the exact same failure) has the exact same version
> as you, whereas I have:
> as: WorkShop Compilers 5.0 98/12/21
> Is it possible for you to try the same version as me?
Well I do not have your version. But I tried with :
as: Sun WorkShop 6 99/08/18
(from a solaris 8)
And the bootstrap went just fine.
Comment 1 Eric Botcazou 2003-05-16 10:07:59 UTC
State-Changed-From-To: open->feedback State-Changed-Why: I can't reproduce on SunOS vegeta 5.7 Generic_106541-23 sun4u sparc SUNW,Ultra-2 with cc: Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09 as the bootstrap compiler. Could you determine at which stage bootstrap fails? If the compiler's C source files were latterly compiled by cc, it's stage1. If they were compiled by stage1/xgcc, it's stage2 and if they were compiled by stage2/xgcc, it's stage3. And could you post the ouput of 'dump -r _muldi3.o'?Comment 2 Eric Botcazou 2003-05-16 15:01:40 UTC
Comment 3 marc.glisse 2003-05-16 15:12:34 UTC
Comment 4 Eric Botcazou 2003-05-16 17:11:49 UTC
Comment 6 Eric Botcazou 2003-05-17 00:28:08 UTC
Comment 7 Eric Botcazou 2003-05-17 06:42:12 UTC
Comment 9 Eric Botcazou 2003-05-20 12:58:33 UTC
Comment 10 Marc Glisse 2003-05-20 13:16:11 UTC
Comment 11 Eric Botcazou 2003-05-20 14:00:30 UTC
Comment 12 Marc Glisse 2003-05-20 20:40:24 UTC
Comment 13 Eric Botcazou 2003-05-21 08:55:44 UTC
Comment 14 Eric Botcazou 2003-05-22 08:23:48 UTC