* Endless loop during bootstrap? @ 2004-03-21 1:59 James Morrison 2004-03-21 2:42 ` Eric Christopher 0 siblings, 1 reply; 3+ messages in thread From: James Morrison @ 2004-03-21 1:59 UTC (permalink / raw) To: gcc Hi, I tried to bootstrap gcc on sparc-linux. However, it seems to be stuck in some loop. So far linking crt0 in stage2 cc1 has taken a lot of time: 14856 jim 18 0 3096 3096 1920 R 80.5 1.2 268:44.24 cc1 This is the line which seems to be taking so long. ./xgcc -B./ -B/usr/local/sparc-unknown-linux-gnu/bin/ -isystem /usr/local/spa rc-unknown-linux-gnu/include -isystem /usr/local/sparc-unknown-linux-gnu/sys- include -L/home/jim/cvs/gcc.ssh/sparcif0/gcc/../ld -O2 -DIN_GCC -W -Wall - Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definitio n -isystem ./include -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/ gcc/../include -g0 -finhibit-size-directive -fno-inline-functions -fno-exce ptions -fno-zero-initialized-in-bss -fno-unit-at-a-time \ -c ../../gcc/gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o I attached gdb to the cc1 process and got this backtrace: Attaching to program: /usr/local/cvs/gcc.ssh/sparcif0/gcc/cc1, process 14856 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 0x001da4a8 in real_to_decimal (str=0xefffd700 "", r_orig=Variable "r_orig" is not available. ) at ../../gcc/gcc/real.c:1460 1460 dec_exp /= 10; Breakpoint 1 at 0xac664: file ../../gcc/gcc/diagnostic.c, line 583. Breakpoint 2 at 0x700610e4 Breakpoint 3 at 0x7005ffe0 (gdb) bt #0 0x001da4a8 in real_to_decimal (str=0xefffd700 "", r_orig=Variable "r_orig" is not available. ) at ../../gcc/gcc/real.c:1460 #1 0x0006ca04 in builtin_define_with_hex_fp_value ( macro=0x40 <Address 0x40 out of bounds>, type=0x7036dab0, digits=9, hex_str=0xefffd7c8 "0x0.ffffffp128", fp_suffix=0x0) at ../../gcc/gcc/c-cppbuiltin.c:545 #2 0x0006cd40 in builtin_define_float_constants ( name_prefix=0xefffd848 "__FLT_MAX__", fp_suffix=0x7036dab0 "", type=0x9) at ../../gcc/gcc/c-cppbuiltin.c:208 Well, the infinite loop seems to be where gdb says it was at line 1460 of real.c: for (max_digits = 1; dec_exp ; max_digits++) dec_exp /= 10; I can't print dec_exp since gdb doesn't seem to handle that dwarf2 expression, but max_digits is: (gdb) p max_digits $1 = 3716048565 Any ideas what needs to be fixed? Jim ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Endless loop during bootstrap? 2004-03-21 1:59 Endless loop during bootstrap? James Morrison @ 2004-03-21 2:42 ` Eric Christopher 2004-03-21 5:25 ` James Morrison 0 siblings, 1 reply; 3+ messages in thread From: Eric Christopher @ 2004-03-21 2:42 UTC (permalink / raw) To: James Morrison; +Cc: gcc > -o crtbegin.o This file definitely shouldn't take very long. > > Any ideas what needs to be fixed? Not offhand, but if you file a bug in bugzilla (gcc.gnu.org/bugzilla) I'm sure the sparc maintainer would want to look at it. -eric -- Eric Christopher <echristo@redhat.com> ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Endless loop during bootstrap? 2004-03-21 2:42 ` Eric Christopher @ 2004-03-21 5:25 ` James Morrison 0 siblings, 0 replies; 3+ messages in thread From: James Morrison @ 2004-03-21 5:25 UTC (permalink / raw) To: Eric Christopher; +Cc: gcc Eric Christopher <echristo@redhat.com> writes: > > -o crtbegin.o > > This file definitely shouldn't take very long. > > > > > Any ideas what needs to be fixed? > > Not offhand, but if you file a bug in bugzilla (gcc.gnu.org/bugzilla) > I'm sure the sparc maintainer would want to look at it. > > -eric > > -- > Eric Christopher <echristo@redhat.com> Alright. I'll dig out my bugzilla account and file a bug. Anyway, It seems that the following code: .LL1136: .loc 1 1460 0 sra %i1, 31, %o3 .LLVL507: srl %i1, 29, %g4 .LLVL508: sll %o3, 3, %g1 sll %i1, 3, %o5 addcc %o5, %i1, %o5 or %g4, %g1, %o4 addx %o4, %o3, %o4 srl %o5, 28, %g4 sll %o4, 4, %g1 sll %o5, 4, %g3 or %g4, %g1, %g2 addcc %o5, %g3, %o5 addx %o4, %g2, %o4 srl %o5, 24, %g4 sll %o4, 8, %g1 sll %o5, 8, %g3 or %g4, %g1, %g2 addcc %o5, %g3, %o5 addx %o4, %g2, %o4 srl %o5, 16, %g4 sll %o4, 16, %g1 sll %o5, 16, %g3 addcc %o5, %g3, %o5 or %g4, %g1, %g2 addx %o4, %g2, %o4 subcc %g0, %o5, %o5 subx %g0, %o4, %o4 sra %o4, 2, %o4 .LLVL509: .loc 1 1459 0 subcc %o4, %o3, %i1 .LLVL510: bne .LL1136 add %l0, 1, %l0 .LL1108: is supposed to divide by 10. However, when the input is 1 the result is -1. Similarily when the input is -1 the result is 1. Thus the endless loop. Jim ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-03-20 23:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-03-21 1:59 Endless loop during bootstrap? James Morrison 2004-03-21 2:42 ` Eric Christopher 2004-03-21 5:25 ` James Morrison
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).