[BACK]Return to setjmp.S CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / arch / arm / gen

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/arch/arm/gen/setjmp.S between version 1.1.2.1 and 1.1.2.2

version 1.1.2.1, 2001/10/08 20:17:01 version 1.1.2.2, 2001/11/14 19:31:51
Line 47 
Line 47 
   
 ENTRY(setjmp)  ENTRY(setjmp)
         /* Block all signals and retrieve the old signal mask */          /* Block all signals and retrieve the old signal mask */
         stmfd   r13!, {r0, r14}          stmfd   sp!, {r0, r14}
         mov     r0, #0x00000000          mov     r0, #0x00000000
   
         bl      PIC_SYM(_C_LABEL(sigblock), PLT)          bl      PIC_SYM(_C_LABEL(sigblock), PLT)
         mov     r1, r0          mov     r1, r0
   
         ldmfd   r13!, {r0, r14}          ldmfd   sp!, {r0, r14}
   
         /* Store signal mask */          /* Store signal mask */
         str     r1, [r0, #(25 * 4)]          str     r1, [r0, #(25 * 4)]
Line 93  ENTRY(longjmp)
Line 93  ENTRY(longjmp)
         ldr     r2, [r0, #(25 * 4)]          ldr     r2, [r0, #(25 * 4)]
   
         /* Set signal mask */          /* Set signal mask */
         stmfd   r13!, {r0, r1, r14}          stmfd   sp!, {r0, r1, r14}
           sub     sp, sp, #4      /* align the stack */
   
         mov     r0, r2          mov     r0, r2
         bl      PIC_SYM(_C_LABEL(sigsetmask), PLT)          bl      PIC_SYM(_C_LABEL(sigsetmask), PLT)
   
         ldmfd   r13!, {r0, r1, r14}          add     sp, sp, #4      /* unalign the stack */
           ldmfd   sp!, {r0, r1, r14}
   
         add     r0, r0, #4          add     r0, r0, #4
 #ifdef SOFTFLOAT  #ifdef SOFTFLOAT
Line 113  ENTRY(longjmp)
Line 115  ENTRY(longjmp)
         /* Restore integer registers */          /* Restore integer registers */
         ldmia   r0, {r4-r14}          ldmia   r0, {r4-r14}
   
         /* Validate r13 and r14 */          /* Validate sp and r14 */
         teq     r13, #0          teq     sp, #0
         beq     botch          teqne   r14, #0
         teq     r14, #0  
         beq     botch          beq     botch
   
         /* Set return value */          /* Set return value */

Legend:
Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.2

CVSweb <webmaster@jp.NetBSD.org>