* Can't bootstrap on Linux/ia64
@ 2003-04-17 17:28 H. J. Lu
2003-04-17 18:46 ` Richard Henderson
2003-04-18 9:21 ` H. J. Lu
0 siblings, 2 replies; 4+ messages in thread
From: H. J. Lu @ 2003-04-17 17:28 UTC (permalink / raw)
To: gcc, rth
Since 4/16, I couldn't bootstrap mainline on Linux/ia64. I got
stage1/xgcc -Bstage1/ -B/usr/gcc-3.4/ia64-unknown-linux-gnu/bin/ -c -g -O2
-DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-pedantic -Wno-long-long -Werror -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I.
-I/net/gnu/export/gnu/src/gcc/gcc/gcc -I/net/gnu/export/gnu/src/gcc/gcc/gcc/.
-I/net/gnu/export/gnu/src/gcc/gcc/gcc/config
-I/net/gnu/export/gnu/src/gcc/gcc/gcc/../include
/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c -o gengenrtl.o
stage1/xgcc -Bstage1/ -B/usr/gcc-3.4/ia64-unknown-linux-gnu/bin/ -g -O2
-DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-pedantic -Wno-long-long -Werror -DHAVE_CONFIG_H -DGENERATOR_FILE -o
gengenrtl \
gengenrtl.o ../libiberty/libiberty.a
gengenrtl.o(.text+0xa1): In function `type_from_format':
/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65: relocation truncated to
fit: GPREL22 .text
gengenrtl.o(.text+0xe1):/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65:
relocation truncated to fit: GPREL22 .text
gengenrtl.o(.text+0x141):/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65:
relocation truncated to fit: GPREL22 .text
4/16 is ok.
H.J.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Can't bootstrap on Linux/ia64
2003-04-17 17:28 Can't bootstrap on Linux/ia64 H. J. Lu
@ 2003-04-17 18:46 ` Richard Henderson
2003-04-18 9:21 ` H. J. Lu
1 sibling, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2003-04-17 18:46 UTC (permalink / raw)
To: H. J. Lu; +Cc: gcc
On Thu, Apr 17, 2003 at 09:58:46AM -0700, H. J. Lu wrote:
> gengenrtl.o(.text+0x141):/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65:
> relocation truncated to fit: GPREL22 .text
Yes, it's an ld bug, which needs quite a lot of reorganization to fix.
Easiest is to disable ldxmov support in the compiler for now.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Can't bootstrap on Linux/ia64
2003-04-17 17:28 Can't bootstrap on Linux/ia64 H. J. Lu
2003-04-17 18:46 ` Richard Henderson
@ 2003-04-18 9:21 ` H. J. Lu
2003-04-18 16:19 ` Richard Henderson
1 sibling, 1 reply; 4+ messages in thread
From: H. J. Lu @ 2003-04-18 9:21 UTC (permalink / raw)
To: gcc, rth
On Thu, Apr 17, 2003 at 09:58:46AM -0700, H. J. Lu wrote:
> Since 4/16, I couldn't bootstrap mainline on Linux/ia64. I got
>
> stage1/xgcc -Bstage1/ -B/usr/gcc-3.4/ia64-unknown-linux-gnu/bin/ -c -g -O2
> -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> -pedantic -Wno-long-long -Werror -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I.
> -I/net/gnu/export/gnu/src/gcc/gcc/gcc -I/net/gnu/export/gnu/src/gcc/gcc/gcc/.
> -I/net/gnu/export/gnu/src/gcc/gcc/gcc/config
> -I/net/gnu/export/gnu/src/gcc/gcc/gcc/../include
> /net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c -o gengenrtl.o
> stage1/xgcc -Bstage1/ -B/usr/gcc-3.4/ia64-unknown-linux-gnu/bin/ -g -O2
> -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> -pedantic -Wno-long-long -Werror -DHAVE_CONFIG_H -DGENERATOR_FILE -o
> gengenrtl \
> gengenrtl.o ../libiberty/libiberty.a
> gengenrtl.o(.text+0xa1): In function `type_from_format':
> /net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65: relocation truncated to
> fit: GPREL22 .text
> gengenrtl.o(.text+0xe1):/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65:
> relocation truncated to fit: GPREL22 .text
> gengenrtl.o(.text+0x141):/net/gnu/export/gnu/src/gcc/gcc/gcc/gengenrtl.c:65:
> relocation truncated to fit: GPREL22 .text
>
> 4/16 is ok.
>
I checked the asm output between gcc 3.4 20030415 and 3.4 20030417.
Here is the diff for gengenrtl.c. It looks like the new gcc no longer
generates ldxmov/ltoff22x in certain cases. It doesn't look right to
me. Is that intentional?
BTW, there may be a small ldxmov/ltoff22x ld bug. Shouldn't we relax
ldxmov/ltoff22x after we finish all brl relaxation? I have a patch for
that.
H.J.
--- bad.s Thu Apr 17 21:53:49 2003
+++ good.s Thu Apr 17 21:53:39 2003
@@ -1830,12 +1830,13 @@ type_from_format:
br.ret.sptk.many b0
;;
.L8:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC395), r1
nop 0
- addl r8 = @gprel(.LC395), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC395
mov ar.pfs = r34
br.ret.sptk.many b0
;;
@@ -1851,12 +1852,13 @@ type_from_format:
br.ret.sptk.many b0
;;
.L3:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC391), r1
nop 0
- addl r8 = @gprel(.LC391), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC391
mov ar.pfs = r34
br.ret.sptk.many b0
;;
@@ -1883,12 +1885,13 @@ type_from_format:
br.ret.sptk.many b0
;;
.L7:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC394), r1
nop 0
- addl r8 = @gprel(.LC394), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC394
mov ar.pfs = r34
br.ret.sptk.many b0
;;
@@ -2035,82 +2038,90 @@ accessor_from_format:
br.call.sptk.many b0 = abort#
;;
.L25:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC406), r1
nop 0
- addl r8 = @gprel(.LC406), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC406
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L22:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC403), r1
nop 0
- addl r8 = @gprel(.LC403), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC403
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L23:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC404), r1
nop 0
- addl r8 = @gprel(.LC404), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC404
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L17:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC399), r1
nop 0
- addl r8 = @gprel(.LC399), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC399
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L19:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC401), r1
nop 0
- addl r8 = @gprel(.LC401), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC401
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L24:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC405), r1
nop 0
- addl r8 = @gprel(.LC405), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC405
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L21:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC402), r1
nop 0
- addl r8 = @gprel(.LC402), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC402
mov ar.pfs = r34
br.ret.sptk.many b0
;;
.L18:
- .mmi
+ .mfi
+ addl r8 = @ltoffx(.LC400), r1
nop 0
- addl r8 = @gprel(.LC400), gp
mov b0 = r33
+ ;;
.mib
- nop 0
+ ld8.mov r8 = [r8], .LC400
mov ar.pfs = r34
br.ret.sptk.many b0
.endp accessor_from_format#
@@ -2144,8 +2155,8 @@ special_format:
nop 0
mov r1 = r36
.mmb
- cmp.ne p6, p7 = 0, r8
mov r37 = r32
+ cmp.ne p6, p7 = 0, r8
(p7) br.cond.dpnt .L33
.L31:
.mfb
@@ -2246,11 +2257,12 @@ special_rtx:
(p6) br.cond.dptk .L36
;;
.mmb
+ addl r38 = @ltoffx(.LC186), r1
+ ld8 r37 = [r32]
nop 0
- addl r38 = @gprel(.LC186), gp
- nop 0
+ ;;
.mfb
- ld8 r37 = [r32]
+ ld8.mov r38 = [r38], .LC186
nop 0
br.call.sptk.many b0 = memcmp#
;;
@@ -2264,11 +2276,12 @@ special_rtx:
(p6) br.cond.dptk .L36
;;
.mmb
+ addl r38 = @ltoffx(.LC191), r1
+ ld8 r37 = [r32]
nop 0
- addl r38 = @gprel(.LC191), gp
- nop 0
+ ;;
.mfb
- ld8 r37 = [r32]
+ ld8.mov r38 = [r38], .LC191
nop 0
br.call.sptk.many b0 = memcmp#
;;
@@ -2282,11 +2295,12 @@ special_rtx:
(p6) br.cond.dptk .L36
;;
.mmb
+ addl r38 = @ltoffx(.LC198), r1
+ ld8 r37 = [r32]
nop 0
- addl r38 = @gprel(.LC198), gp
- nop 0
+ ;;
.mfb
- ld8 r37 = [r32]
+ ld8.mov r38 = [r38], .LC198
nop 0
br.call.sptk.many b0 = memcmp#
;;
@@ -2644,9 +2658,14 @@ gendecl:
cmp4.eq p6, p7 = 0, r14
(p7) br.cond.dptk .L71
.L67:
- .mii
- addl r32 = @gprel(.LC411), gp
+ .mfi
+ addl r32 = @ltoffx(.LC411), r1
+ nop 0
mov b0 = r36
+ .mmi
+ nop 0
+ ;;
+ ld8.mov r32 = [r32], .LC411
mov ar.pfs = r37
;;
.mfb
@@ -2745,29 +2764,33 @@ genmacro:
shladd r33 = r32, 1, r32
br.call.sptk.many b0 = special_rtx#
;;
- .mmb
+ .mmi
cmp4.eq p6, p7 = 0, r8
ld8.mov r35 = [r35], defs#
- nop 0
- .mmi
mov r1 = r38
;;
+ .mmi
shladd r33 = r33, 3, r35
addl r39 = @ltoffx(.LC412), r1
- .mii
- (p7) addl r40 = @gprel(.LC413), gp
- (p6) addl r40 = @gprel(.LC164), gp
+ (p6) addl r40 = @ltoffx(.LC164), r1
+ .mmi
+ (p7) addl r40 = @ltoffx(.LC413), r1
;;
+ ld8 r41 = [r33], 16
nop 0
.mmb
- ld8 r41 = [r33], 16
ld8.mov r39 = [r39], .LC412
+ (p6) ld8.mov r40 = [r40], .LC164
+ nop 0
+ .mmb
+ (p7) ld8.mov r40 = [r40], .LC413
+ nop 0
br.call.sptk.many b0 = printf#
;;
- .mmb
- mov r1 = r38
- ld8 r33 = [r33]
+ .mmi
nop 0
+ ld8 r33 = [r33]
+ mov r1 = r38
;;
.L92:
.mmi
@@ -2782,17 +2805,18 @@ genmacro:
(p6) br.cond.dpnt .L89
;;
.L95:
- .mfi
+ .mmb
+ addl r39 = @ltoffx(.LC414), r1
mov r40 = r34
nop 0
- cmp4.eq p6, p7 = 48, r14
.mmb
+ cmp4.eq p6, p7 = 48, r14
adds r33 = 1, r33
- addl r39 = @gprel(.LC414), gp
(p6) br.cond.dpnt .L92
- .mfb
+ ;;
+ .mib
+ ld8.mov r39 = [r39], .LC414
adds r34 = 1, r34
- nop 0
br.call.sptk.many b0 = printf#
;;
.mmb
@@ -2877,9 +2901,14 @@ genmacro:
nop 0
(p7) br.cond.dptk .L96
.L91:
- .mii
- addl r32 = @gprel(.LC417), gp
+ .mfi
+ addl r32 = @ltoffx(.LC417), r1
+ nop 0
mov b0 = r36
+ .mmi
+ nop 0
+ ;;
+ ld8.mov r32 = [r32], .LC417
mov ar.pfs = r37
;;
.mfb
@@ -2980,11 +3009,15 @@ gendef:
(p6) br.cond.dpnt .L115
.mii
adds r33 = 1, r33
+ addl r39 = @ltoffx(.LC419), r1
mov r40 = r34
- addl r39 = @gprel(.LC419), gp
;;
- .mbb
+ .mmf
cmp4.eq p6, p7 = 48, r14
+ ld8.mov r39 = [r39], .LC419
+ nop 0
+ .bbb
+ nop 0
(p6) br.cond.dpnt .L120
br.call.sptk.many b0 = printf#
;;
@@ -3050,13 +3083,18 @@ gendef:
br .L121
;;
.L117:
- .mmb
- addl r39 = @gprel(.LC422), gp
- mov r33 = r32
+ .mfi
+ addl r39 = @ltoffx(.LC422), r1
nop 0
- .mmb
+ mov r33 = r32
+ .mii
mov r35 = r0
mov r34 = r0
+ ;;
+ nop 0
+ .mfb
+ ld8.mov r39 = [r39], .LC422
+ nop 0
br.call.sptk.many b0 = puts#
;;
.mii
@@ -3348,10 +3386,10 @@ genheader:
;;
.mmb
mov r1 = r37
- cmp4.ne p6, p7 = 0, r8
+ mov r38 = r32
nop 0
.mmb
- mov r38 = r32
+ cmp4.ne p6, p7 = 0, r8
adds r32 = 1, r32
(p7) br.cond.dpnt .L148
;;
@@ -3691,4 +3729,4 @@ main:
.size formats#, 1352
formats:
.skip 1352
- .ident "GCC: (GNU) 3.4 20030417 (experimental)"
+ .ident "GCC: (GNU) 3.4 20030415 (experimental)"
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Can't bootstrap on Linux/ia64
2003-04-18 9:21 ` H. J. Lu
@ 2003-04-18 16:19 ` Richard Henderson
0 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2003-04-18 16:19 UTC (permalink / raw)
To: H. J. Lu; +Cc: gcc
On Thu, Apr 17, 2003 at 10:02:41PM -0700, H. J. Lu wrote:
> BTW, there may be a small ldxmov/ltoff22x ld bug. Shouldn't we relax
> ldxmov/ltoff22x after we finish all brl relaxation?
Yes.
> I have a patch for that.
Eh? I don't think the current relax_section interface
supports this. It's not a small problem.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-04-18 12:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-17 17:28 Can't bootstrap on Linux/ia64 H. J. Lu
2003-04-17 18:46 ` Richard Henderson
2003-04-18 9:21 ` H. J. Lu
2003-04-18 16:19 ` Richard Henderson
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).