Article View: gnu.gcc.bug
Article #1487SIGSEGV on cc1obj gcc 2.3.3 compiling object.m
From: Larry Rosenman
Date: Mon, 28 Dec 1992 00:26
Date: Mon, 28 Dec 1992 00:26
137 lines
7487 bytes
7487 bytes
I have consistently (since the objc directory was added), gotten a seg violation
compiling the objc runtime support on Amiga Unix (SVR4 C= version 2.1p2a).
this is from 2.3.3...
here is the stack backtrace from the core file:
Script started on Mon Dec 28 06:12:40 1992
$ gdb
GDB is free software and you are welcome to 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.
GDB 4.7, Copyright 1992 Free Software Foundation, Inc.
(gdb) core core
Core was generated by `/home/ff/gcc/cc1obj /usr/tmp/cca005wZ.i -quiet -dumpbase object.m -g -O -lang-o'.
Program terminated with signal 11, Segmentation fault.
#0 0x80007a10 in ?? ()
(gdb) sym /home/ff/gcc/cc1obj
Reading symbols from /home/ff/gcc/cc1obj...done.
(gdb) where
#0 hash_lookup (hashlist=0x800fe9b4, sel_name=0x801062f8) at objc-actions.c:3035
Cannot access memory at address 0x800079ec.
(gdb) exec /home/ff/gcc/cc1obj
(gdb) where
#0 hash_lookup (hashlist=0x800fe9b4, sel_name=0x801062f8) at objc-actions.c:3035
#1 0x80007d22 in add_instance_method (class=0x8011d318, method=0x8011d6d8)
at objc-actions.c:3234
#2 0x80003bd0 in yyparse () at ./objc-parse.c:2168
#3 0x8001fc02 in compile_file (name=0xc07ffab4 "/usr/tmp/cca005wZ.i") at toplev.c:1803
#4 0x80021b18 in main (argc=10, argv=0xc07ff9a8, envp=0xc07ff9d4) at toplev.c:3285
(gdb) where
#0 hash_lookup (hashlist=0x800fe9b4, sel_name=0x801062f8) at objc-actions.c:3035
#1 0x80007d22 in add_instance_method (class=0x8011d318, method=0x8011d6d8)
at objc-actions.c:3234
#2 0x80003bd0 in yyparse () at ./objc-parse.c:2168
#3 0x8001fc02 in compile_file (name=0xc07ffab4 "/usr/tmp/cca005wZ.i") at toplev.c:1803
#4 0x80021b18 in main (argc=10, argv=0xc07ff9a8, envp=0xc07ff9d4) at toplev.c:3285
(gdb) print sel_name
$1 = (union tree_node *) 0x801062f8
(gdb) print *sel_name
$2 = {common = {chain = 0x0, type = 0x0, code = IDENTIFIER_NODE,
side_effects_flag = 0, constant_flag = 0, permanent_flag = 1,
addressable_flag = 1, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0,
asm_written_flag = 0, used_flag = 1, raises_flag = 0, static_flag = 0,
public_flag = 1, private_flag = 0, protected_flag = 0, lang_flag_0 = 0,
lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0,
lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, int_cst_low = 4,
int_cst_high = -2146409688}, real_cst = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, rtl = 0x4,
real_cst = -2.2789385996650638e-308}, string = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, rtl = 0x4,
length = -2146409688, pointer = 0x0}, complex = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, rtl = 0x4,
real = 0x80106328, imag = 0x0}, identifier = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, length = 4,
pointer = 0x80106328 "free"}, decl = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"},
filename = 0x4<Address 0x4 out of bounds>, linenum = -2146409688, size = 0x0,
uid = 0, mode = VOIDmode, external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0,
inline_flag = 0, bit_field_flag = 0, virtual_flag = 0, ignored_flag = 0,
abstract_flag = 0, in_system_header_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0,
lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0,
lang_flag_6 = 0, lang_flag_7 = 0, name = 0x80106330, context = 0x0,
arguments = 0x80106330, result = 0x0, initial = 0x66726565, abstract_origin = 0x0,
print_name = 0x0, assembler_name = 0x800f2680, rtl = 0x1d309000,
frame_size = -2146414400, saved_insns = {r = 0x42, i = 66}, vindex = 0x0,
lang_specific = 0x77}, type = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, values = 0x4,
size = 0x80106328, uid = 0, mode = VOIDmode, precision = 0 '\000',
no_force_blk_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0,
lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, align = 0,
pointer_to = 0x80106330, reference_to = 0x0, parse_info = -2146409680,
symtab_address = 0, name = 0x66726565, minval = 0x0, maxval = 0x0,
next_variant = 0x800f2680, main_variant = 0x1d309000, binfo = 0x801050c0,
noncopied_parts = 0x42, context = 0x0, lang_specific = 0x77}, list = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, purpose = 0x4,
value = 0x80106328}, vec = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"}, length = 4, a = {
0x80106328}}, exp = {common = {"\000\000\000\000\000\000\000\000\0010\220\000"},
complexity = 4, operands = {0x80106328}}, block = {
common = {"\000\000\000\000\000\000\000\000\0010\220\000"},
handler_block_flag = 0, abstract_flag = 0, vars = 0x80106328, type_tags = 0x0,
subblocks = 0x0, supercontext = 0x0, abstract_origin = 0x80106330, end_note = 0x0}}
(gdb) info all-registers
d0 0xffe023f5 -2087947
d1 0xffffffc9 -55
d2 0x801062f8 -2146409736
d3 0x800f5258 -2146479528
d4 0x21d 541
d5 0x198 408
d6 0xc07ff7b0 -1065355344
d7 0xc07ff794 -1065355372
a0 0x800fe9b4 -2146440780
a1 0x1 1
a2 0x0 0
a3 0x8011d318 -2146315496
a4 0x8011d6d8 -2146314536
a5 0xc07ff794 -1065355372
fp 0xc07ff3e8 0xc07ff3e8
sp 0xc07ff3e4 0xc07ff3e4
ps 0x0 0
pc 0x80007a10 0x80007a10
fp0 1 (raw 0xbfff00008000000000000000)
fp1 -1 (raw 0x3fff00008000000000000000)
fp2 -inf (raw 0x7fff0000ffffffffffffffff)
fp3 -inf (raw 0x7fff0000ffffffffffffffff)
fp4 -inf (raw 0x7fff0000ffffffffffffffff)
fp5 -inf (raw 0x7fff0000ffffffffffffffff)
fp6 -inf (raw 0x7fff0000ffffffffffffffff)
fp7 -inf (raw 0x7fff0000ffffffffffffffff)
fpcontrol 0x0 0
fpstatus 0x8000000 134217728
fpiaddr 0x0 0
(gdb) dir ..
Source directories searched: /home/ff/gcc/objc/..:$cdir:$cwd
(gdb) l 3035
3030
3031 target = hashlist[HASHFUNCTION (sel_name) % SIZEHASHTABLE];
3032
3033 while (target)
3034 {
3035 if (sel_name == METHOD_SEL_NAME (target->key))
3036 return target;
3037
3038 target = target->next;
3039 }
(gdb) print target->key
$3 = (union tree_node *) Cannot access memory at address 0x9.
(gdb) print target
$4 = (struct hashedEntry *) 0x1
(gdb) quit
script done on Mon Dec 28 06:18:53 1992
--
Larry Rosenman Internet: ler@lerami.lerctr.org
ATT: +1 214-399-0210 (voice) BIX: ler UUCP: ..!utacfd.uta.edu!lerami!ler
US Mail: 900 Lake Isle Circle, Irving, TX 75060-7726
Technical Details
Message-ID:
<m0n6JXw-00000CC@lerami.lerctr.org>Path:
arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!lerami.lerctr.ORG!lerShow Full Headers
Complete Article Headers
Newsgroups: gnu.gcc.bug Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!lerami.lerctr.ORG!ler From: ler@lerami.lerctr.ORG (Larry Rosenman) Subject: SIGSEGV on cc1obj gcc 2.3.3 compiling object.m Message-ID: <m0n6JXw-00000CC@lerami.lerctr.org> Sender: gnulists@ai.mit.edu Organization: GNUs Not Usenet Distribution: gnu Date: Mon, 28 Dec 1992 00:26:06 GMT Approved: bug-gcc@prep.ai.mit.edu Lines: 139