This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/10834] GCC for ARM 3.3 still generates incorrect instructions for functions with __attribute__ ((interrupt ("IRQ")))
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 May 2003 10:40:35 -0000
- Subject: [Bug target/10834] GCC for ARM 3.3 still generates incorrect instructions for functions with __attribute__ ((interrupt ("IRQ")))
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10834
rearnsha@gcc.gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Component|c |target
Resolution| |FIXED
------- Additional Comments From rearnsha@gcc.gnu.org 2003-05-22 10:40 -------
Already fixed on trunk, now fixed for 3.3.1 with:
2003-05-19 Nick Clifton <nickc@redhat.com>
* config/arm/arm.c (use_return_insn): Do not use a single return
instruction for interrupt handlers which have to create a stack
frame.
(arm_expand_prologue): Do not pre-bias the return address of
interrupt handlers which create a stack frame.
In both cases the code now generated is:
str ip, [sp, #-4]!
mov ip, sp
stmfd sp!, {r1, r2, r3, fp, ip, lr, pc}
sub fp, ip, #4
sub sp, sp, #4
... @ body of function.
ldmea fp, {r1, r2, r3, fp, sp, lr}
ldmfd sp!, {ip}
subs pc, lr, #4
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.