changeset 3009:9ba76199bff2

* include/hal_intr.h (HAL_DISABLE_INTERRUPTS): Mark operand as an earlyclobber operand to ensure correct register usage. Issue reported by both Ulrich Holeschak and Stanislav Meduna. [ Bugzilla 1001154 ]
author jld
date Thu, 17 Feb 2011 13:40:30 +0000
parents 5798ca37fb96
children 843c497ed312
files packages/hal/cortexm/arch/current/ChangeLog packages/hal/cortexm/arch/current/include/hal_intr.h
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/cortexm/arch/current/ChangeLog
+++ b/packages/hal/cortexm/arch/current/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-17  John Dallaway  <john@dallaway.org.uk>
+
+	* include/hal_intr.h (HAL_DISABLE_INTERRUPTS): Mark operand as
+	an earlyclobber operand to ensure correct register usage. Issue
+	reported by both Ulrich Holeschak and Stanislav Meduna.
+	[ Bugzilla 1001154 ]
+
 2011-01-20  Christophe Coutand  <ccoutand@stmi.com>
 
 	* include/hal_intr.h:
--- a/packages/hal/cortexm/arch/current/include/hal_intr.h
+++ b/packages/hal/cortexm/arch/current/include/hal_intr.h
@@ -242,7 +242,7 @@ typedef cyg_uint32  CYG_INTERRUPT_STATE;
         "mrs    %0, basepri             \n"     \
         "mov    r1,%1                   \n"     \
         "msr    basepri,r1              \n"     \
-        : "=r" (__old)                          \
+        : "=&r" (__old)                         \
         :  "r" (CYGNUM_HAL_CORTEXM_PRIORITY_MAX)\
         : "r1"                                  \
         );