This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/12172] New: Solaris 8/SPARC libobjc bootstrap failure: SEGV in apply_args_size
- From: "gcc-bugzilla at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Sep 2003 21:59:55 -0000
- Subject: [Bug bootstrap/12172] New: Solaris 8/SPARC libobjc bootstrap failure: SEGV in apply_args_size
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12172
Summary: Solaris 8/SPARC libobjc bootstrap failure: SEGV in
apply_args_size
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at techfak dot uni-bielefeld dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: sparc-sun-solaris2.8
GCC host triplet: sparc-sun-solaris2.8
GCC target triplet: sparc-sun-solaris2.8
Bootstrapping current mainline on sparc-sun-solaris2.8 fails building
libobjc:
> ./libtool --mode=compile /vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/xgcc -B/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/ -B/vol/gcc/share/sparc-sun-solaris2.8/bin/ -B/vol/gcc/share/sparc-sun-solaris2.8/lib/ -isystem /vol/gcc/share/sparc-sun-solaris2.8/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/sys-include -fgnu-runtime -c -o NXConstStr.lo -I. -I/vol/gnu/src/gcc/gcc-dist/libobjc -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DHAVE_GTHR_DEFAULT -DIN_GCC -DIN_TARGET_LIBS -I/vol/gnu/src/gcc/gcc-dist/libobjc/objc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc/config -I../../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../include /vol/gnu/src/gcc/gcc-dist/libobjc/NXConstStr.m -v -save-temps
/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/xgcc -B/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/ -B/vol/gcc/share/sparc-sun-solaris2.8/bin/ -B/vol/gcc/share/sparc-sun-solaris2.8/lib/ -isystem /vol/gcc/share/sparc-sun-solaris2.8/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/sys-include -fgnu-runtime -c -I. -I/vol/gnu/src/gcc/gcc-dist/libobjc -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DHAVE_GTHR_DEFAULT -DIN_GCC -DIN_TARGET_LIBS -I/vol/gnu/src/gcc/gcc-dist/libobjc/objc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc/config -I../../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../include /vol/gnu/src/gcc/gcc-dist/libobjc/NXConstStr.m -v -save-temps -o NXConstStr.o
Reading specs from /vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/specs
Configured with: '/vol/gnu/src/gcc/gcc-dist/configure' '--prefix=/vol/gcc '--with-local-prefix=/vol/gcc '--disable-nls
Thread model: posix
gcc version 3.4 20030904 (experimental)
/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/cc1obj -E -quiet -v -I. -I/vol/gnu/src/gcc/gcc-dist/libobjc -I/vol/gnu/src/gcc/gcc-dist/libobjc/objc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc/config -I../../gcc -I/vol/gnu/src/gcc/gcc-dist/libobjc/../include -iprefix /amnt/figaro/volumes/obj-gcc/gcc/obj.sol2/gcc-3.4-20030904/8-gcc/gcc/../lib/gcc/sparc-sun-solaris2.8/3.4/ -isystem /vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/bin/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/lib/include -DHAVE_GTHR_DEFAULT -DIN_GCC -DIN_TARGET_LIBS -isystem /vol/gcc/share/sparc-sun-solaris2.8/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/sys-include /vol/gnu/src/gcc/gcc-dist/libobjc/NXConstStr.m -mcpu=v7 -W -Wall -Wwrite-strings -Wstrict-prototypes -fgnu-runtime -g -O2 -O2 -o NXConstStr.mi
ignoring nonexistent directory "/vol/gcc/share/sparc-sun-solaris2.8/bin/include"
ignoring nonexistent directory "/vol/gcc/share/sparc-sun-solaris2.8/lib/include"
ignoring nonexistent directory "/vol/gcc/share/sparc-sun-solaris2.8/include"
ignoring nonexistent directory "/vol/gcc/share/sparc-sun-solaris2.8/sys-include"
ignoring nonexistent directory "/amnt/figaro/volumes/obj-gcc/gcc/obj.sol2/gcc-3.4-20030904/8-gcc/gcc/../lib/gcc/sparc-sun-solaris2.8/3.4/include"
ignoring nonexistent directory "/vol/gcc/lib/gcc/sparc-sun-solaris2.8/3.4/include"
ignoring nonexistent directory "/vol/gcc/share/sparc-sun-solaris2.8/include"
#include "..." search starts here:
#include <...> search starts here:
.
/vol/gnu/src/gcc/gcc-dist/libobjc
/vol/gnu/src/gcc/gcc-dist/libobjc/objc
/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc
/vol/gnu/src/gcc/gcc-dist/libobjc/../gcc/config
../../gcc
/vol/gnu/src/gcc/gcc-dist/libobjc/../include
/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/include
/vol/gcc/include
/usr/include
End of search list.
/vol/gcc/obj/gcc-3.4-20030904/8-gcc/gcc/cc1obj -fpreprocessed NXConstStr.mi -quiet -dumpbase NXConstStr.m -mcpu=v7 -auxbase-strip NXConstStr.o -g -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -version -fgnu-runtime -o NXConstStr.s
GNU Objective-C version 3.4 20030904 (experimental) (sparc-sun-solaris2.8)
compiled by GNU C version 3.4 20030904 (experimental).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
/vol/gnu/src/gcc/gcc-dist/libobjc/NXConstStr.m:43: internal compiler error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
This can be repeated with cc1obj -quiet NXConstStr.mi.
Running this under gdb reveals the following:
Program received signal SIGSEGV, Segmentation fault.
apply_args_size () at /vol/gnu/src/gcc/gcc-dist/gcc/builtins.c:944
(gdb) where
#0 apply_args_size () at /vol/gnu/src/gcc/gcc-dist/gcc/builtins.c:944
#1 0x000d2374 in apply_args_register_offset (regno=24)
at /vol/gnu/src/gcc/gcc-dist/gcc/builtins.c:915
#2 0x00049e48 in forwarding_offset (parm=0xff075580)
at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:2725
#3 0x00055a0c in encode_method_def (func_decl=0xff075700)
at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:7346
#4 0x0004c6e4 in build_dispatch_table_initializer (type=0xff07f380,
entries=0xff075500) at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:3877
#5 0x0004cad4 in generate_dispatch_tables ()
at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:4044
#6 0x00058818 in finish_objc ()
at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:8246
#7 0x00044610 in finish_file ()
at /vol/gnu/src/gcc/gcc-dist/gcc/objc/objc-act.c:495
#8 0x002d8538 in compile_file ()
at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:1737
#9 0x002dd1c8 in do_compile () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:4412
#10 0x002dd2cc in toplev_main (argc=4613120, argv=0xffbef494)
at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:4452
(gdb) p cfun
$4 = (struct function *) 0x0
The crash happens here:
/* The second value is the structure value address unless this is
passed as an "invisible" first argument. */
if (targetm.calls.struct_value_rtx (TREE_TYPE (cfun->decl), 0))
size += GET_MODE_SIZE (Pmode);
This code fragment has been changed in DJ's recent targhooks patch:
/* The second value is the structure value address unless this is
passed as an "invisible" first argument. */
- if (struct_value_rtx)
+ if (targetm.calls.struct_value_rtx (TREE_TYPE (cfun->decl), 0))
size += GET_MODE_SIZE (Pmode);
Environment:
System: SunOS padouk 5.8 Generic_108528-23 sun4u sparc SUNW,Sun-Fire-880
Architecture: sun4
host: sparc-sun-solaris2.8
build: sparc-sun-solaris2.8
target: sparc-sun-solaris2.8
configured with: '/vol/gnu/src/gcc/gcc-dist/configure' '--prefix=/vol/gcc '--with-local-prefix=/vol/gcc '--disable-nls
How-To-Repeat:
Bootstrap gcc as above.