diff options
| -rw-r--r-- | demos/ARM7-LPC214x-GCC/chcore2.s | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/demos/ARM7-LPC214x-GCC/chcore2.s b/demos/ARM7-LPC214x-GCC/chcore2.s index a450d9b74..22a819c72 100644 --- a/demos/ARM7-LPC214x-GCC/chcore2.s +++ b/demos/ARM7-LPC214x-GCC/chcore2.s @@ -47,9 +47,9 @@ threadstart:          bx      r0
  .code 16
          mov     r0, r5
 -        mov     lr, pc
 -        bx      r4
 +        bl      jmpr4
          bl      chThdExit
 +jmpr4:  bx      r4
  .code 32
  #endif
 @@ -202,14 +202,17 @@ UART1IrqHandler:   * Common exit point for all IRQ routines, it performs the rescheduling if
   * required.
   */
 -IrqCommon:
  #ifdef THUMB_NO_INTERWORKING
  .code 16
 +.globl IrqCommon
 +IrqCommon:
          bl      chSchRescRequiredI
          mov     lr, pc
          bx      lr
  .code 32
  #else
 +.globl IrqCommon
 +IrqCommon:
          bl      chSchRescRequiredI
  #endif
          cmp     r0, #0                          // Simply returns if a
  | 
