On 15/04/2010 14:47, Spencer Oliver wrote:
Hi,

Attached patch fixes build issue when using gcc 4.4 series against
current cvs head.

Error: missing expression -- `swi'
Seems that gcc now requires the argument for the swi asm instruction.

Cheers
Spencer Oliver

take 2  - missed one.
Index: include/hal_intr.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/cortexm/arch/current/include/hal_intr.h,v
retrieving revision 1.4
diff -u -r1.4 hal_intr.h
--- include/hal_intr.h  29 Jan 2009 17:49:15 -0000      1.4
+++ include/hal_intr.h  15 Apr 2010 13:29:09 -0000
@@ -298,7 +298,7 @@
 {                                                       \
     __asm__ volatile (                                  \
         "ldr     r3,=hal_call_dsrs_vsr          \n"     \
-        "swi                                    \n"     \
+        "swi 0                                  \n"     \
         :                                               \
         :                                               \
         : "r3"                                          \
Index: src/hal_misc.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/cortexm/arch/current/src/hal_misc.c,v
retrieving revision 1.5
diff -u -r1.5 hal_misc.c
--- src/hal_misc.c      9 Feb 2009 15:57:49 -0000       1.5
+++ src/hal_misc.c      15 Apr 2010 13:59:31 -0000
@@ -185,7 +185,7 @@
 
     hal_vsr_table[CYGNUM_HAL_VECTOR_SERVICE] = 
(CYG_ADDRESS)hal_switch_state_vsr;    
 
-    __asm__ volatile( "swi" );
+    __asm__ volatile( "swi 0" );
 
     hal_vsr_table[CYGNUM_HAL_VECTOR_SERVICE] = 
(CYG_ADDRESS)hal_default_svc_vsr;
     
Index: src/vectors.S
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/cortexm/arch/current/src/vectors.S,v
retrieving revision 1.2
diff -u -r1.2 vectors.S
--- src/vectors.S       29 Jan 2009 17:49:15 -0000      1.2
+++ src/vectors.S       15 Apr 2010 13:32:42 -0000
@@ -274,7 +274,7 @@
 hal_interrupt_end_done:
 
         ldr     r3,=hal_interrupt_end_vsr
-        swi
+        swi 0
         
 //==========================================================================   
     
 // Interrupt end VSR

Reply via email to