diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2020-06-19 04:24:18 +0200 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-06-19 04:24:18 +0200 |
commit | f063fb64a24be163903ec0560eaba9af05cab25c (patch) | |
tree | 7a47ad657f209b24a4ae119be246f56d78d851d6 /jmp.S | |
parent | a7cfa5717c91b7c144cb2ec3aecc5cda9509a355 (diff) | |
download | txr-f063fb64a24be163903ec0560eaba9af05cab25c.tar.gz txr-f063fb64a24be163903ec0560eaba9af05cab25c.tar.bz2 txr-f063fb64a24be163903ec0560eaba9af05cab25c.zip |
Support MIPS64.
* jmp.S (jmp_save, jmp_restore): Defined for MIPS64.
* unwind.h (struct_jmp): Provide same definition for 32 and 64
by #ifdef-ing on just __mips__.
Diffstat (limited to 'jmp.S')
-rw-r--r-- | jmp.S | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -365,6 +365,41 @@ DEFUN(jmp_restore) jr $ra move $2, $5 +#elif _MIPS_SZPTR == 64 + + .set noreorder + +DEFUN(jmp_save) + sd $16, 0($4) + sd $17, 8($4) + sd $18, 16($4) + sd $19, 24($4) + sd $20, 32($4) + sd $21, 40($4) + sd $22, 48($4) + sd $23, 56($4) + sd $28, 64($4) + sd $29, 72($4) + sd $30, 80($4) + sd $ra, 88($4) + jr $ra + li $2, 0 + +DEFUN(jmp_restore) + ld $16, 0($4) + ld $17, 8($4) + ld $18, 16($4) + ld $19, 24($4) + ld $20, 32($4) + ld $21, 40($4) + ld $22, 48($4) + ld $23, 56($4) + ld $28, 64($4) + ld $29, 72($4) + ld $ra, 80($4) + ld $30, 88($4) + jr $ra + move $2, $5 #else #error port me! #endif |