This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: objc/4975
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, pinskia at physics dot uc dot edu, gcc-bugs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Fri, 7 Dec 2001 21:10:46 -0500
- Subject: Re: objc/4975
Still fails with a shorter testcase:
gcc -O3 main.m -save-temps -v
Reading specs from /home/rodent/pinskia/gcc-linux/bin/../lib/gcc-
lib/i686-pc-linux-gnu/3.1/specs
Configured with: /lhome/src/gnu/gcc/gcc3.1/src/configure
--prefix=/home/linux --with-gnu-as=/home/linux/bun/as --with-gnu-
ld=/home/linux/bin/ld --enable-threads=posix --enable-shared
Thread model: posix
gcc version 3.1 20011207 (experimental)
/home/rodent/pinskia/gcc-linux/bin/../lib/gcc-lib/i686-pc-linux-
gnu/3.1/cpp0 -lang-objc -v -iprefix /home/rodent/pinskia/gcc-
linux/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.1/ -D__GNUC__=3
-D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux
-D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix
-D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386
-D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ main.m main.mi
GNU CPP version 3.1 20011207 (experimental) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring duplicate directory "/home/linux/lib/gcc-lib/i686-pc-linux-
gnu/3.1/include"
ignoring duplicate directory "/home/linux/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/rodent/pinskia/gcc-linux/lib/gcc-lib/i686-pc-linux-gnu/3.1/include
/home/rodent/pinskia/gcc-linux/i686-pc-linux-gnu/include
/home/linux/include
/usr/include
End of search list.
/home/rodent/pinskia/gcc-linux/bin/../lib/gcc-lib/i686-pc-linux-
gnu/3.1/cc1obj -fpreprocessed main.mi -quiet -dumpbase main.m -O3
-version -o main.s
GNU CPP version 3.1 20011207 (experimental) (cpplib) (i386 Linux/ELF)
GNU Objective-C version 3.1 20011207 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.1 20011207 (experimental).
main.m: In function `_GLOBAL__I_main.mAKFmgb':
main.m:13: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
Here is the ouput from gdb:
Program received signal SIGSEGV, Segmentation fault.
0x0804f62c in defer_fn (fn=0x401a2f68)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/objc/objc-act.c:580
580 VARRAY_PUSH_TREE (deferred_fns, fn);
(gdb) bt
#0 0x0804f62c in defer_fn (fn=0x401a2f68)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/objc/objc-act.c:580
#1 0x08078478 in c_expand_body (fndecl=0x401a2f68, nested_p=0,
can_defer_p=1)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/c-decl.c:6950
#2 0x08077b7a in finish_function (nested=0)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/c-decl.c:6858
#3 0x08051fe7 in build_module_descriptor ()
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/objc/objc-act.c:1749
#4 0x08061a61 in finish_objc ()
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/objc/objc-act.c:8139
#5 0x0804f6af in finish_file ()
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/objc/objc-act.c:598
#6 0x08049c55 in yyparse_1 () at /usr/lib/bison.simple:315
#7 0x0822ffb4 in compile_file ()
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/toplev.c:2109
#8 0x08235229 in do_compile ()
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/toplev.c:5102
#9 0x08235288 in toplev_main (argc=10, argv=0xbffff024)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/toplev.c:5132
#10 0x080ab64b in main (argc=10, argv=0xbffff024)
at /lhome/src/gnu/gcc/gcc3.1/src/gcc/main.c:35
#11 0x40041f31 in __libc_start_main (main=0x80ab630 <main>, argc=10,
ubp_av=0xbffff024, init=0x8049038 <_init>, fini=0x82ef494 <_fini>,
rtld_fini=0x4000e274 <_dl_fini>, stack_end=0xbffff01c)
at ../sysdeps/generic/libc-start.c:129
(gdb) p deferred_fns
$1 = 0x0(gdb) p fn
$2 = 0x401a2f68
Here is shorter testcase:
# 1 "main.m"
# 1 "<builtin>"
# 1 "<command line>"
# 1 "main.m"
@interface HashTableData
{
}
@end
@implementation HashTableData
-init:(int)lkey
{
}
@end