GCC Bugzilla – Attachment 22339 Details for
Bug 42240
[4.3/4.4 Regression] wrong epilogue on naked function
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Initial patch to fix the bug
bug42240.patch (text/plain), 1.08 KB, created by
Anitha Boyapati
on 2010-11-09 10:24:11 UTC
(
hide
)
Description:
Initial patch to fix the bug
Filename:
MIME Type:
Creator:
Anitha Boyapati
Created:
2010-11-09 10:24:11 UTC
Size:
1.08 KB
patch
obsolete
>--- avr.c.old 2010-11-09 14:40:35.000000000 -0600 >+++ avr.c.new 2010-11-09 14:37:49.000000000 -0600 >@@ -87,6 +87,7 @@ > static struct machine_function * avr_init_machine_status (void); > static rtx avr_builtin_setjmp_frame_value (void); > static bool avr_hard_regno_scratch_ok (unsigned int); >+static bool avr_cannot_modify_jumps_p (void); > > /* Allocate registers from r25 to r8 for parameters for function calls. */ > #define FIRST_CUM_REG 26 >@@ -361,6 +362,9 @@ > #undef TARGET_HARD_REGNO_SCRATCH_OK > #define TARGET_HARD_REGNO_SCRATCH_OK avr_hard_regno_scratch_ok > >+#undef TARGET_CANNOT_MODIFY_JUMPS_P >+#define TARGET_CANNOT_MODIFY_JUMPS_P avr_cannot_modify_jumps_p >+ > struct gcc_target targetm = TARGET_INITIALIZER; > > void >@@ -6021,6 +6025,15 @@ > return 1; > } > >+/* Avoid jump reording when epilogue is completed or when the function >+ is naked.*/ >+ >+static bool >+avr_cannot_modify_jumps_p (void) >+{ >+ return (epilogue_completed || cfun->machine->is_naked); >+} >+ > /* Output a branch that tests a single bit of a register (QI, HI or SImode) > or memory location in the I/O space (QImode only). >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 42240
:
19199
|
19200
|
19201
| 22339 |
22349