Use `movel' for pushes and pops.
authorRoland McGrath <roland@gnu.org>
Sun, 4 Dec 1994 19:08:38 +0000 (19:08 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 4 Dec 1994 19:08:38 +0000 (19:08 +0000)
sysdeps/m68k/bsd-_setjmp.S
sysdeps/m68k/bsd-setjmp.S

index 5525534..a0b6393 100644 (file)
@@ -26,14 +26,17 @@ Cambridge, MA 02139, USA.  */
 #ifdef MOTOROLA_SYNTAX
 #define d0 %d0
 #define d1 %d1
-#define popl pop.l
-#define pushl push.l
+#define PUSH(reg)      move.l reg, -(%esp)
+#define POP(reg)       move.l (%esp)+, reg
+#else
+#define PUSH(reg)      movel reg, sp@-
+#define POP(reg)       movel sp@+, reg
 #endif
 
 ENTRY (_setjmp)
-       popl d0                 /* Pop return PC.  */
-       popl d1                 /* Pop jmp_buf argument.  */
-       pushl #0                /* Push second argument of zero.  */
-       pushl d1                /* Push back first argument.  */
-       pushl d0                /* Push back return PC.  */
+       POP (d0)                /* Pop return PC.  */
+       POP (d1)                /* Pop jmp_buf argument.  */
+       PUSH (#0)               /* Push second argument of zero.  */
+       PUSH (d1)               /* Push back first argument.  */
+       PUSH (d0)               /* Push back return PC.  */
        jmp C_SYMBOL_NAME (__sigsetjmp)
index 52c8e2b..d218b44 100644 (file)
@@ -26,14 +26,17 @@ Cambridge, MA 02139, USA.  */
 #ifdef MOTOROLA_SYNTAX
 #define d0 %d0
 #define d1 %d1
-#define popl pop.l
-#define pushl push.l
+#define PUSH(reg)      move.l reg, -(%esp)
+#define POP(reg)       move.l (%esp)+, reg
+#else
+#define PUSH(reg)      movel reg, sp@-
+#define POP(reg)       movel sp@+, reg
 #endif
 
 ENTRY (setjmp)
-       popl d0                 /* Pop return PC.  */
-       popl d1                 /* Pop jmp_buf argument.  */
-       pushl #1                /* Push second argument of one.  */
-       pushl d1                /* Push back first argument.  */
-       pushl d0                /* Push back return PC.  */
+       POP (d0)                /* Pop return PC.  */
+       POP (d1)                /* Pop jmp_buf argument.  */
+       PUSH (#1)               /* Push second argument of one.  */
+       PUSH (d1)               /* Push back first argument.  */
+       PUSH (d0)               /* Push back return PC.  */
        jmp C_SYMBOL_NAME (__sigsetjmp)