This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: EGCS-19990314, undefined local symbol with a __label__
- To: mark at codesourcery dot com
- Subject: Re: EGCS-19990314, undefined local symbol with a __label__
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Mon, 22 Mar 1999 15:43:49 +0000
- Cc: gilbertd at treblig dot org, egcs-bugs at egcs dot cygnus dot com, philb at gnu dot org, rmk at arm dot uk dot linux dot org, rth at cygnus dot com
- Cc: richard dot earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: richard dot earnshaw at arm dot com
> >>>>> "Richard" == Richard Earnshaw <rearnsha@arm.com> writes:
>
> Richard> Thanks for the bug report. I've also reproduced it on
> Richard> the arm-aout port. A quick look shows that the label
> Richard> gets lost somewhere between the end of the global
> Richard> register allocation pass and the end of the sched2 pass.
> Richard> I guess this means the flow graph is incomplete in some
> Richard> respect (my guess is that it doesn't follow the label
> Richard> reference use via the constant pool).
>
> I think I fixed this problem with this patch:
>
> Mon Mar 15 10:20:20 1999 Mark Mitchell <mark@markmitchell.com>
>
> * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
> LABEL_REF for something else.
>
> You might want to try the current CVS version and see what happens.
Nope, I have that patch in my buid. It's still looses the note. Note
that it seems to be combine that is losing the REG_LABEL note.