Use `movel' for pushes and pops.
This commit is contained in:
parent
eb6741dde4
commit
2782be7451
@ -26,14 +26,17 @@ Cambridge, MA 02139, USA. */
|
|||||||
#ifdef MOTOROLA_SYNTAX
|
#ifdef MOTOROLA_SYNTAX
|
||||||
#define d0 %d0
|
#define d0 %d0
|
||||||
#define d1 %d1
|
#define d1 %d1
|
||||||
#define popl pop.l
|
#define PUSH(reg) move.l reg, -(%esp)
|
||||||
#define pushl push.l
|
#define POP(reg) move.l (%esp)+, reg
|
||||||
|
#else
|
||||||
|
#define PUSH(reg) movel reg, sp@-
|
||||||
|
#define POP(reg) movel sp@+, reg
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ENTRY (_setjmp)
|
ENTRY (_setjmp)
|
||||||
popl d0 /* Pop return PC. */
|
POP (d0) /* Pop return PC. */
|
||||||
popl d1 /* Pop jmp_buf argument. */
|
POP (d1) /* Pop jmp_buf argument. */
|
||||||
pushl #0 /* Push second argument of zero. */
|
PUSH (#0) /* Push second argument of zero. */
|
||||||
pushl d1 /* Push back first argument. */
|
PUSH (d1) /* Push back first argument. */
|
||||||
pushl d0 /* Push back return PC. */
|
PUSH (d0) /* Push back return PC. */
|
||||||
jmp C_SYMBOL_NAME (__sigsetjmp)
|
jmp C_SYMBOL_NAME (__sigsetjmp)
|
||||||
|
@ -26,14 +26,17 @@ Cambridge, MA 02139, USA. */
|
|||||||
#ifdef MOTOROLA_SYNTAX
|
#ifdef MOTOROLA_SYNTAX
|
||||||
#define d0 %d0
|
#define d0 %d0
|
||||||
#define d1 %d1
|
#define d1 %d1
|
||||||
#define popl pop.l
|
#define PUSH(reg) move.l reg, -(%esp)
|
||||||
#define pushl push.l
|
#define POP(reg) move.l (%esp)+, reg
|
||||||
|
#else
|
||||||
|
#define PUSH(reg) movel reg, sp@-
|
||||||
|
#define POP(reg) movel sp@+, reg
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ENTRY (setjmp)
|
ENTRY (setjmp)
|
||||||
popl d0 /* Pop return PC. */
|
POP (d0) /* Pop return PC. */
|
||||||
popl d1 /* Pop jmp_buf argument. */
|
POP (d1) /* Pop jmp_buf argument. */
|
||||||
pushl #1 /* Push second argument of one. */
|
PUSH (#1) /* Push second argument of one. */
|
||||||
pushl d1 /* Push back first argument. */
|
PUSH (d1) /* Push back first argument. */
|
||||||
pushl d0 /* Push back return PC. */
|
PUSH (d0) /* Push back return PC. */
|
||||||
jmp C_SYMBOL_NAME (__sigsetjmp)
|
jmp C_SYMBOL_NAME (__sigsetjmp)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user