This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: g77 testsuite failures under hpux 10.20
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Subject: Re: g77 testsuite failures under hpux 10.20
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 06 Jul 2000 14:38:31 -0600
- cc: gcc-bugs at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <200007062008.QAA07573@hiauly1.hia.nrc.ca>you write:
> > Basically treat it as a memory corruption problem. You know when the val
> ue
> > is OK. Now you have to figure out where it goes bad.
>
> This is the point where the pointer to the string is clobbered. I noticed
> that the pointer seems to get replaced by the first 4 characters of the
> string itself.
>
> #0 0x7af4054c in ?? () from /usr/lib/libc.1
> #1 0x1b648c in record_constant_rtx (mode=1074056004, x=0x7b03b6b0)
> at ../../gcc/varasm.c:3534
And what is line 3534 in varasm.c? It's going to be hard for me to know
what's going on since your line #s probably don't match mine exactly.
I'm guessing its one of the obstack_grow calls.
It appears as if we're replacing hunks of RTL with stuff on obstacks
which is kind of weird. But might be plausible since we're probably
putting this value in the constant pool.
I would debug force_const_mem & record_constant_rtx -- first I would
verify that they set up the string correctly once they're complete. If
not, then you've probably found the bug. Else you'll have to see where
the new string gets clobbered.
jeff