This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: c/2898: Illegal function return in ARM code when compiling with -mthumb-interwork -O2
- To: Philip Blundell <philb at gnu dot org>
- Subject: Re: c/2898: Illegal function return in ARM code when compiling with -mthumb-interwork -O2
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 23 May 2001 18:17:17 +0100
- cc: trauscher at loytec dot com, gcc-gnats at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: Richard dot Earnshaw at arm dot com
> >When compiling for an ARM target with -mthumb-interwork and -02 or higher
> >optimization,
> >the compiler does not correctly return with the BX instruction but loads
> >the PC directly. Thus, the function cannot be called from THUMB code
> >safely.
>
> Thanks for your bug report.
>
> I think the patch below should fix this problem (which, incidentally, is a
> regression from 2.95).
>
> p.
>
> 2001-05-22 Philip Blundell <philb@gnu.org>
>
> * config/arm/arm.c (output_return_instruction): Correctly handle
> interworking and interrupt functions.
OK (both).
Thanks,
R.