This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Found gcc bug while trying to correct another one
- To: law at cygnus dot com
- Subject: Re: Found gcc bug while trying to correct another one
- From: Martin Kahlert <martin dot kahlert at mchp dot siemens dot de>
- Date: Mon, 8 Jun 1998 09:32:36 +0200
- Cc: egcs-bugs at cygnus dot com
- References: <199806051335.PAA28713@keksy.mchp.siemens.de> <14195.897076143@hurl.cygnus.com>
- Reply-To: martin dot kahlert at mchp dot siemens dot de
>> I got a segmentation Fault during the make step of gcc
>> (Signal 11) in
>> /home/kahlert/LOCAL/obj/gcc/xgcc
>> -B/home/kahlert/LOCAL/obj/gcc/ -DIN_GCC -DUSE_GNULIBC_1
>> -g -O2 -I./include -I. -I/home/kahlert/LOCAL/egcs-19980531/gcc
>> -I/home/kahlert/LOCAL/egcs-19980531/gcc/config \
>> -c /home/kahlert/LOCAL/egcs-19980531/gcc/objc/hash.c -o objc/hash.o
>> with the final output
>> 136451592 : 1
>> 140 : xgcc: Internal compiler error: program cc1 got fatal signal 11
>>
>> So somebody seems to overwrite the next-field in the biv at
>> address 136451592 with 140.
>> This looks like a further gcc bug to me,
>> which hasn't anything to do with my bug.
> Don't know about this one. Of course you haven't told us anythign
> about your target system, so it's hard to debug what might be
> happening with this problem.
>
> jeff
Sorry, here is more info (and a clean egcs):
I have a native i686-pc-linux-gnulibc1 egcs-2.91.34.
I put the following 5 lines in front of
'loop_iv_list = 0;'
(around line 3450 of gcc/loop.c):
for(bl=loop_iv_list;bl;bl=bl->next)
{
printf("(%d)->next=%d\n",(int)bl,(int)bl->next);
fflush(stdout);
}
after typing 'make' i get:
/home/kahlert/LOCAL/obj/gcc/xgcc -B/home/kahlert/LOCAL/obj/gcc/
-DIN_GCC -DUSE_GNULIBC_1 -g -O2 -I./include -I.
-I/home/kahlert/LOCAL/egcs-19980531/gcc
-I/home/kahlert/LOCAL/egcs-19980531/gcc/config \
-c /home/kahlert/LOCAL/egcs-19980531/gcc/objc/sarray.c
-o objc/sarray.o
(136502436)->next=0
(136503196)->next=0
(136504472)->next=136504424
(136504424)->next=0
(136504632)->next=136504704
(136504704)->next=34 ( <--- that's my problem )
xgcc: Internal compiler error: program cc1 got fatal signal 11
make[1]: *** [objc/sarray.o] Error 1
make[1]: Leaving directory `/sw/local_l/kahlert/obj/gcc'
make: *** [all-gcc] Error 2
I think, the '34' comes from a memory corruption inside gcc.
I wanted to free the linked list, but freeing memory at the
address 34 is not a good idea...
I didn't do any further changes to egcs
besides the one mentioned above.
Thanks a lot,
Martin.
--
What is the difference between Jurassic Park and Microsoft?
One is an over-rated high tech theme park based on prehistoric
information and populated mostly by dinosaurs,
the other is a Steven Spielberg movie.