OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [newlib/] [libc/] [machine/] [or32/] [longjmp.S] - Diff between revs 207 and 399

Show entire file | Details | Blame | View Log

Rev 207 Rev 399
Line 45... Line 45...
   @param[in]  val(r4)  A value to return
   @param[in]  val(r4)  A value to return
 
 
   @return  val, unless val is zero, in which case 1 is returned.
   @return  val, unless val is zero, in which case 1 is returned.
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
        .align  4
        .align  4
        .global _longjmp
        .global longjmp
        .type   _longjmp,@function
        .type   longjmp,@function
_longjmp:
longjmp:
        /* Sort out the return value */
        /* Sort out the return value */
        l.sfne  r4,r0
        l.sfne  r4,r0
        l.bf    1f
        l.bf    1f
        l.nop
        l.nop
 
 
Line 91... Line 91...
        l.lwz   r2,8(r3)                /* Skip r3 */
        l.lwz   r2,8(r3)                /* Skip r3 */
        l.lwz   r1,4(r3)                /* Slot 0 saved for flag in future */
        l.lwz   r1,4(r3)                /* Slot 0 saved for flag in future */
        l.lwz   r3,12(r3)               /* Now safe */
        l.lwz   r3,12(r3)               /* Now safe */
 
 
        /* Result is already in r11. Having restored r9, it will appear as
        /* Result is already in r11. Having restored r9, it will appear as
           though we have returned from the earlier call to _setjmp. The
           though we have returned from the earlier call to setjmp. The
           non-zero result gives it away though. */
           non-zero result gives it away though. */
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
 
 
        .size   _longjmp, .-_longjmp
        .size   longjmp, .-longjmp
        .size   longjmp, .-longjmp
        .size   longjmp, .-longjmp

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.