2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>

PR 1768/bsps
	* shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
	we do not perform a cld before calling C code in the ISR. This was
	historically not a problem but gcc 4.3 changed the behavior. From
	http://gcc.gnu.org/gcc-4.3/changes.html
This commit is contained in:
Joel Sherrill
2011-04-04 16:45:01 +00:00
parent c3f92efa3c
commit 2fe013a145
2 changed files with 15 additions and 0 deletions

View File

@@ -1,3 +1,11 @@
2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1768/bsps
* shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
we do not perform a cld before calling C code in the ISR. This was
historically not a problem but gcc 4.3 changed the behavior. From
http://gcc.gnu.org/gcc-4.3/changes.html
2009-05-18 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_asm.S: Add shared

View File

@@ -121,6 +121,13 @@ nested:
movl ebp, esp
popl ebp
/*
* GCC versions starting with 4.3 no longer place the cld
* instruction before string operations. We need to ensure
* it is set correctly for ISR handlers.
*/
cld
/*
* restore the original i8259 masks
*/