------- Comment #1 from lucier at math dot purdue dot edu  2006-05-31 04:42 
-------
Subject: Re:   New: ICE building darwin-crt2.c in 64-bit darwin bootstrap

I ran cc1 a bit through gdb; perhaps real.c has been miscompiled.

[lindv2:mainline/objdir64/gcc] lucier% gdb /Users/lucier/programs/gcc/ 
mainline/objdir64/./gcc/cc1
GNU gdb 6.3.50-20050815 (Apple version gdb-477) (Sun Apr 30 20:06:22  
GMT 2006)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "powerpc-apple-darwin"...Reading symbols  
for shared libraries .. done

Breakpoint 1 at 0x44e55c: file ../../gcc/diagnostic.c, line 642.
Breakpoint 2 at 0x44e3e0: file ../../gcc/diagnostic.c, line 586.
Breakpoint 3 at 0x906f4
Breakpoint 4 at 0xf4e38
(gdb) run  -quiet -v -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../ 
include -I./../intl -I../../gcc/../libcpp/include -I../../gcc/../ 
libdecnumber -I../libdecnumber -iprefix /Users/lucier/programs/gcc/ 
mainline/objdir64/gcc/../lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/ - 
isystem /Users/lucier/programs/gcc/mainline/objdir64/./gcc/include - 
D__DYNAMIC__ -DIN_GCC -isystem /pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/include -isystem /pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/sys-include -isystem ./include ../../gcc/config/darwin- 
crt2.c -feliminate-unused-debug-symbols -fPIC -quiet -dumpbase darwin- 
crt2.c -auxbase-strip crt2.o -g -O2 -O2 -W -Wall -Wwrite-strings - 
Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition - 
version -o /var/tmp//ccti7FKQ.s
Starting program: /Users/lucier/programs/gcc/mainline/objdir64/gcc/ 
cc1 -quiet -v -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../ 
include -I./../intl -I../../gcc/../libcpp/include -I../../gcc/../ 
libdecnumber -I../libdecnumber -iprefix /Users/lucier/programs/gcc/ 
mainline/objdir64/gcc/../lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/ - 
isystem /Users/lucier/programs/gcc/mainline/objdir64/./gcc/include - 
D__DYNAMIC__ -DIN_GCC -isystem /pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/include -isystem /pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/sys-include -isystem ./include ../../gcc/config/darwin- 
crt2.c -feliminate-unused-debug-symbols -fPIC -quiet -dumpbase darwin- 
crt2.c -auxbase-strip crt2.o -g -O2 -O2 -W -Wall -Wwrite-strings - 
Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition - 
version -o /var/tmp//ccti7FKQ.s
Reading symbols for shared libraries .+ done
Breakpoint 3 at 0x42695718
Breakpoint 4 at 0x426f9e58
ignoring nonexistent directory "/pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/include"
ignoring nonexistent directory "/pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/sys-include"
ignoring duplicate directory "./include"
ignoring nonexistent directory "/Users/lucier/programs/gcc/mainline/ 
objdir64/gcc/../lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/include"
ignoring nonexistent directory "/Users/lucier/programs/gcc/mainline/ 
objdir64/gcc/../lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/../../../../ 
powerpc-apple-darwin8.6.0/include"
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/pkgs/gcc-4.2.0/include"
ignoring nonexistent directory "/pkgs/gcc-4.2.0/lib/gcc/powerpc-apple- 
darwin8.6.0/4.2.0/include"
ignoring nonexistent directory "/pkgs/gcc-4.2.0/powerpc-apple- 
darwin8.6.0/include"
ignoring duplicate directory "."
ignoring duplicate directory "../../gcc/."
#include "..." search starts here:
#include <...> search starts here:
.
../../gcc
../../gcc/../include
./../intl
../../gcc/../libcpp/include
../../gcc/../libdecnumber
../libdecnumber
/Users/lucier/programs/gcc/mainline/objdir64/./gcc/include
/usr/include
/System/Library/Frameworks
/Library/Frameworks
End of search list.
GNU C version 4.2.0 20060530 (experimental) (powerpc-apple-darwin8.6.0)
         compiled by GNU C version 4.0.1 (Apple Computer, Inc. build  
5341).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000423ac000
0x00000000007b7378 in sticky_rshift_significand (r=0x40c48118,  
a=0x40c48118, n=4294967295) at ../../gcc/real.c:179
179             sticky |= a->sig[i];
(gdb) stack
Undefined command: "stack".  Try "help".
(gdb) where
#0  0x00000000007b7378 in sticky_rshift_significand (r=0x40c48118,  
a=0x40c48118, n=4294967295) at ../../gcc/real.c:179
#1  0x00000000007bddf0 in round_for_format (fmt=0x40c49c38,  
r=0x40c48118) at ../../gcc/real.c:2372
#2  0x00000000007be4e8 in real_convert (r=0x40c48118, mode=DFmode,  
a=0x40c48118) at ../../gcc/real.c:2472
#3  0x00000000007bcec8 in real_from_integer (r=0x40c48118,  
mode=DFmode, low=1, high=0, unsigned_p=0) at ../../gcc/real.c:2066
#4  0x00000000004a1ac0 in init_emit_once (line_numbers=1) at ../../ 
gcc/emit-rtl.c:5194
#5  0x00000000008a8444 in backend_init () at ../../gcc/toplev.c:1825
#6  0x00000000008a8898 in do_compile () at ../../gcc/toplev.c:1966
#7  0x00000000008a8974 in toplev_main (argc=44, argv=0x7fffeffffef68)  
at ../../gcc/toplev.c:2002
#8  0x00000000000f3508 in main (argc=44, argv=0x7fffeffffef68)  
at ../../gcc/main.c:35
(gdb) list
174       unsigned int i, ofs = 0;
175
176       if (n >= HOST_BITS_PER_LONG)
177         {
178           for (i = 0, ofs = n / HOST_BITS_PER_LONG; i < ofs; ++i)
179             sticky |= a->sig[i];
180           n &= HOST_BITS_PER_LONG - 1;
181         }
182
183       if (n != 0)
(gdb) p a
$1 = (const struct real_value *) 0x40c48118
(gdb) p *a
$2 = {
   cl = 1,
   decimal = 0,
   sign = 0,
   signalling = 0,
   canonical = 0,
   uexp = 1,
   sig = {0, 0, 9223372036854775808}
}
(gdb) p i
$3 = 3065820
(gdb) info args
r = (struct real_value *) 0x40c48118
a = (const struct real_value *) 0x40c48118
n = 4294967295
(gdb) info locals
sticky = 18446744073709551615
i = 3065820
ofs = 67108863
(gdb) p *r
$4 = {
   cl = 1,
   decimal = 0,
   sign = 0,
   signalling = 0,
   canonical = 0,
   uexp = 1,
   sig = {0, 0, 9223372036854775808}
}
(gdb) p *a
$5 = {
   cl = 1,
   decimal = 0,
   sign = 0,
   signalling = 0,
   canonical = 0,
   uexp = 1,
   sig = {0, 0, 9223372036854775808}
}
(gdb) up
#1  0x00000000007bddf0 in round_for_format (fmt=0x40c49c38,  
r=0x40c48118) at ../../gcc/real.c:2372
2372              r->sig[0] |= sticky_rshift_significand (r, r, shift);
(gdb) info locals
shift = -1
p2 = 0
np2 = 192
i = 32
w = 128
sticky = 1117819808
guard = 255 'ÿ'
lsb = 255 'ÿ'
emin2m1 = 0
emax2 = 0
__FUNCTION__ = "round_for_format"
(gdb) info args
fmt = (const struct real_format *) 0x40c49c38
r = (struct real_value *) 0x40c48118
(gdb) p *fmt
$6 = {
   encode = 0,
   decode = 0,
   b = 0,
   log2_b = 0,
   p = 0,
   pnan = 0,
   emin = 0,
   emax = 0,
   signbit_ro = 0,
   signbit_rw = 0,
   has_nans = 0 '\0',
   has_inf = 0 '\0',
   has_denorm = 0 '\0',
   has_signed_zero = 0 '\0',
   qnan_msb_set = 0 '\0'
}
(gdb) p *r
$7 = {
   cl = 1,
   decimal = 0,
   sign = 0,
   signalling = 0,
   canonical = 0,
   uexp = 1,
   sig = {0, 0, 9223372036854775808}
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27814

Reply via email to