mips-r6
authorDebian Common Lisp Team <debian-common-lisp@lists.debian.org>
Wed, 28 Aug 2019 19:39:51 +0000 (20:39 +0100)
committerSébastien Villemot <sebastien@debian.org>
Wed, 28 Aug 2019 19:39:51 +0000 (20:39 +0100)
Gbp-Pq: Name mips-r6.patch

14 files changed:
avcall/avcall-mips64eb-macro.S
avcall/avcall-mips64el-macro.S
avcall/avcall-mipsn32eb-macro.S
avcall/avcall-mipsn32el-macro.S
callback/trampoline_r/trampoline.c
callback/vacall_r/vacall-mips64eb-macro.S
callback/vacall_r/vacall-mips64el-macro.S
callback/vacall_r/vacall-mipsn32eb-macro.S
callback/vacall_r/vacall-mipsn32el-macro.S
trampoline/trampoline.c
vacall/vacall-mips64eb-macro.S
vacall/vacall-mips64el-macro.S
vacall/vacall-mipsn32eb-macro.S
vacall/vacall-mipsn32el-macro.S

index 6858ebf4750b91a83f2e0f1dd8a7a06d06ae5b86..9bfa80dfb6a5f1413588c5550093023c6c2902f2 100644 (file)
@@ -119,7 +119,11 @@ avcall_call:
 .L130:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L131
+#else
+       beq     $4,$0,.L131
+#endif
        andi    $3,$3,0x80
        .set    macro
        .set    reorder
@@ -137,7 +141,11 @@ avcall_call:
 .L124:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$0,.L123
+#else
+       beq     $3,$0,.L123
+#endif
        slt     $3,$6,9
        .set    macro
        .set    reorder
@@ -229,7 +237,11 @@ avcall_call:
 .L137:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L138
+#else
+       beq     $4,$0,.L138
+#endif
        andi    $3,$3,0x80
        .set    macro
        .set    reorder
@@ -298,7 +310,11 @@ avcall_call:
        li      $5,1                    
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$5,.L139
+#else
+       beq     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -410,7 +426,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        bnel    $4,$5,.L139
+#else
+       bne     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -426,7 +446,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L38
+#else
+       beq     $4,$0,.L38
+#endif
        ld      $4,32($16)
        .set    macro
        .set    reorder
@@ -456,7 +480,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$4,.L140
+#else
+       beq     $3,$4,.L140
+#endif
        ld      $3,16($16)
        .set    macro
        .set    reorder
index ed3df522c1ed955f3f929a028b8f22b4cdf7b06d..40f08bfdaaac09e55aa47e72b47e126b26f5d88d 100644 (file)
@@ -119,7 +119,11 @@ avcall_call:
 .L130:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L131
+#else
+       beq     $4,$0,.L131
+#endif
        andi    $3,$3,0x80
        .set    macro
        .set    reorder
@@ -137,7 +141,11 @@ avcall_call:
 .L124:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$0,.L123
+#else
+       beq     $3,$0,.L123
+#endif
        slt     $3,$6,9
        .set    macro
        .set    reorder
@@ -229,7 +237,11 @@ avcall_call:
 .L137:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L138
+#else
+       beq     $4,$0,.L138
+#endif
        andi    $3,$3,0x80
        .set    macro
        .set    reorder
@@ -298,7 +310,11 @@ avcall_call:
        li      $5,1                    
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$5,.L139
+#else
+       beq     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -410,7 +426,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        bnel    $4,$5,.L139
+#else
+       bne     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -426,7 +446,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L38
+#else
+       beq     $4,$0,.L38
+#endif
        ld      $5,32($16)
        .set    macro
        .set    reorder
@@ -456,7 +480,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$4,.L140
+#else
+       beq     $3,$4,.L140
+#endif
        ld      $3,16($16)
        .set    macro
        .set    reorder
index 270e68ba3330a11728e78a5d391c3409d539fb23..39bd8a3af869af3a03bf5d83de9090bad2805bef 100644 (file)
@@ -118,7 +118,11 @@ avcall_call:
 .L130:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $6,$0,.L131
+#else
+       beq     $6,$0,.L131
+#endif
        andi    $2,$2,0x80
        .set    macro
        .set    reorder
@@ -136,7 +140,11 @@ avcall_call:
 .L124:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $2,$0,.L123
+#else
+       beq     $2,$0,.L123
+#endif
        slt     $4,$4,9
        .set    macro
        .set    reorder
@@ -228,7 +236,11 @@ avcall_call:
 .L137:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $6,$0,.L138
+#else
+       beq     $6,$0,.L138
+#endif
        andi    $2,$2,0x80
        .set    macro
        .set    reorder
@@ -295,7 +307,11 @@ avcall_call:
        li      $5,1                    
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$5,.L139
+#else
+       beq     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -407,7 +423,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        bnel    $4,$5,.L139
+#else
+       bne     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -423,7 +443,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L38
+#else
+       beq     $4,$0,.L38
+#endif
        lw      $4,16($16)
        .set    macro
        .set    reorder
@@ -453,7 +477,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$4,.L140
+#else
+       beq     $3,$4,.L140
+#endif
        lw      $3,8($16)
        .set    macro
        .set    reorder
index 91e4fe52b5df7d9e2d82dbf9e94fee46e0d06846..2eb54b94d81ff5301c244c8461a0295744bb1ce0 100644 (file)
@@ -118,7 +118,11 @@ avcall_call:
 .L130:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $6,$0,.L131
+#else
+       beq     $6,$0,.L131
+#endif
        andi    $2,$2,0x80
        .set    macro
        .set    reorder
@@ -136,7 +140,11 @@ avcall_call:
 .L124:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $2,$0,.L123
+#else
+       beq     $2,$0,.L123
+#endif
        slt     $4,$4,9
        .set    macro
        .set    reorder
@@ -228,7 +236,11 @@ avcall_call:
 .L137:
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $6,$0,.L138
+#else
+       beq     $6,$0,.L138
+#endif
        andi    $2,$2,0x80
        .set    macro
        .set    reorder
@@ -295,7 +307,11 @@ avcall_call:
        li      $5,1                    
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$5,.L139
+#else
+       beq     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -407,7 +423,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        bnel    $4,$5,.L139
+#else
+       bne     $4,$5,.L139
+#endif
        move    $sp,$fp
        .set    macro
        .set    reorder
@@ -423,7 +443,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $4,$0,.L38
+#else
+       beq     $4,$0,.L38
+#endif
        lw      $5,16($16)
        .set    macro
        .set    reorder
@@ -453,7 +477,11 @@ avcall_call:
 
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$4,.L140
+#else
+       beq     $3,$4,.L140
+#endif
        lw      $3,8($16)
        .set    macro
        .set    reorder
@@ -600,7 +628,11 @@ avcall_call:
        sltu    $3,$5,9
        .set    noreorder
        .set    nomacro
+#if __mips_isa_rev < 6
        beql    $3,$0,.L43
+#else
+       beq     $3,$0,.L43
+#endif
        ld      $10,0($6)
        .set    macro
        .set    reorder
index 175eb424e86454e7d79ca4f57a53f1f96f59200e..eab5b9dc816450b044fd288b37ef0b047d4e9085 100644 (file)
@@ -72,6 +72,12 @@ extern void (*tramp_r) (); /* trampoline prototype */
 #endif
 #endif
 
+#if __mips_isa_rev>=6
+#define JALR_ENCODE_DIFF 0x1
+#else
+#define JALR_ENCODE_DIFF 0x0
+#endif
+
 #ifndef CODE_EXECUTABLE
   /* How do we make the trampoline's code executable? */
   #if defined(HAVE_MACH_VM) || defined(HAVE_WORKING_MPROTECT)
@@ -589,7 +595,7 @@ __TR_function alloc_trampoline_r (__TR_function address, void* data0, void* data
    */
   *(unsigned int *) (function + 0) = 0x8F220010;
   *(unsigned int *) (function + 4) = 0x8F390014;
-  *(unsigned int *) (function + 8) = 0x03200008;
+  *(unsigned int *) (function + 8) = 0x03200008 | JALR_ENCODE_DIFF;
   *(unsigned int *) (function +12) = 0x00000000;
   *(unsigned int *) (function +16) = (unsigned int) data;
   *(unsigned int *) (function +20) = (unsigned int) address;
@@ -597,7 +603,7 @@ __TR_function alloc_trampoline_r (__TR_function address, void* data0, void* data
 #define is_tramp(function)  \
   *(unsigned int *) (function + 0) == 0x8F220010 && \
   *(unsigned int *) (function + 4) == 0x8F390014 && \
-  *(unsigned int *) (function + 8) == 0x03200008 && \
+  *(unsigned int *) (function + 8) == (0x03200008 | JALR_ENCODE_DIFF) && \
   *(unsigned int *) (function +12) == 0x00000000
 #define tramp_address(function)  \
   *(unsigned int *) (function +20)
@@ -684,7 +690,7 @@ __TR_function alloc_trampoline_r (__TR_function address, void* data0, void* data
    */
   *(unsigned int *)  (function + 0) = 0xDF220010;
   *(unsigned int *)  (function + 4) = 0xDF390018;
-  *(unsigned int *)  (function + 8) = 0x03200008;
+  *(unsigned int *)  (function + 8) = 0x03200008 | JALR_ENCODE_DIFF;
   *(unsigned int *)  (function +12) = 0x00000000;
   *(unsigned long *) (function +16) = (unsigned long) data;
   *(unsigned long *) (function +24) = (unsigned long) address;
@@ -692,7 +698,7 @@ __TR_function alloc_trampoline_r (__TR_function address, void* data0, void* data
 #define is_tramp(function)  \
   *(unsigned int *)  (function + 0) == 0xDF220010 && \
   *(unsigned int *)  (function + 4) == 0xDF390018 && \
-  *(unsigned int *)  (function + 8) == 0x03200008 && \
+  *(unsigned int *)  (function + 8) == (0x03200008 | JALR_ENCODE_DIFF) && \
   *(unsigned int *)  (function +12) == 0x00000000
 #define tramp_address(function)  \
   *(unsigned long *) (function +24)
index a0cd04cebd28a8954f1e64c582c9a5b3ba3a1251..ce26754b12b070c11be3b1e204a9b168c7f4577d 100644 (file)
@@ -101,7 +101,11 @@ callback_receiver:
        beq     $12,$13,.L44
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -123,7 +127,11 @@ callback_receiver:
        beq     $12,$13,.L55
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
@@ -193,7 +201,11 @@ callback_receiver:
 .L19:
        daddiu  $13,$14,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L59
+#else
+       beq     $13,$0,.L59
+#endif
        andi    $13,$12,0x800
 
        ld      $13,32($fp)
@@ -219,23 +231,39 @@ callback_receiver:
 .L23:
        andi    $13,$12,0x800
 .L59:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $14,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $14,$13,.L57
+#else
+       beq     $14,$13,.L57
+#endif
        ld      $13,32($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L58
+#else
+       beq     $12,$0,.L58
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L60:
+#if __mips_isa_rev < 6
        bnel    $14,$12,.L58
+#else
+       bne     $14,$12,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
index d2d7d894076e72c8cc91a906457fa24cb8c45477..07623c5c30af6f2c09a9184171b7b04fdb473721 100644 (file)
@@ -101,7 +101,11 @@ callback_receiver:
        beq     $12,$13,.L44
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -123,7 +127,11 @@ callback_receiver:
        beq     $12,$13,.L55
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
@@ -193,7 +201,11 @@ callback_receiver:
 .L19:
        daddiu  $13,$14,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L59
+#else
+       beq     $13,$0,.L59
+#endif
        andi    $13,$12,0x800
 
        ld      $13,32($fp)
@@ -220,23 +232,39 @@ callback_receiver:
 .L23:
        andi    $13,$12,0x800
 .L59:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $14,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $14,$13,.L57
+#else
+       beq     $14,$13,.L57
+#endif
        ld      $13,32($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L58
+#else
+       beq     $12,$0,.L58
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L60:
+#if __mips_isa_rev < 6
        bnel    $14,$12,.L58
+#else
+       bne     $14,$12,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
index 6f1e482aa1103107fb851f831ed8d68830d90d58..307c423629908f10f6c083ae7fe86291dd5795f9 100644 (file)
@@ -101,7 +101,11 @@ callback_receiver:
        beq     $12,$13,.L46
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -123,7 +127,11 @@ callback_receiver:
        beq     $12,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
@@ -193,7 +201,11 @@ callback_receiver:
 .L19:
        addiu   $13,$24,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L60
+#else
+       beq     $13,$0,.L60
+#endif
        andi    $13,$12,0x800
 
        lw      $13,28($fp)
@@ -218,23 +230,39 @@ callback_receiver:
 .L23:
        andi    $13,$12,0x800
 .L60:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $24,$13,.L57
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $24,$13,.L58
+#else
+       beq     $24,$13,.L58
+#endif
        lw      $13,28($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L59
+#else
+       beq     $12,$0,.L59
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L61:
+#if __mips_isa_rev < 6
        bnel    $24,$12,.L59
+#else
+       bne     $24,$12,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
index d1391d711114808b14022e69e45a3ccefe3e129a..aa497fc7703a6fc137e25e7a1c9df0b1a8dbf873 100644 (file)
@@ -101,7 +101,11 @@ callback_receiver:
        beq     $12,$13,.L46
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -123,7 +127,11 @@ callback_receiver:
        beq     $12,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
@@ -193,7 +201,11 @@ callback_receiver:
 .L19:
        addiu   $13,$24,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L60
+#else
+       beq     $13,$0,.L60
+#endif
        andi    $13,$12,0x800
 
        lw      $13,28($fp)
@@ -219,23 +231,39 @@ callback_receiver:
 .L23:
        andi    $13,$12,0x800
 .L60:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $24,$13,.L57
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $24,$13,.L58
+#else
+       beq     $24,$13,.L58
+#endif
        lw      $13,28($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L59
+#else
+       beq     $12,$0,.L59
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L61:
+#if __mips_isa_rev < 6
        bnel    $24,$12,.L59
+#else
+       bne     $24,$12,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
index 79f2c9273b1a9d642855bb8614ab0c54bff548e0..76f925eea824d43d92dff2796ecb133ddd72e2a6 100644 (file)
@@ -72,6 +72,12 @@ extern void (*tramp) (); /* trampoline prototype */
 #endif
 #endif
 
+#if __mips_isa_rev>=6
+#define JALR_ENCODE_DIFF 0x1
+#else
+#define JALR_ENCODE_DIFF 0x0
+#endif
+
 #ifndef CODE_EXECUTABLE
   /* How do we make the trampoline's code executable? */
   #if defined(HAVE_MACH_VM) || defined(HAVE_WORKING_MPROTECT)
@@ -637,7 +643,7 @@ trampoline_function_t alloc_trampoline (trampoline_function_t address, void** va
   *(unsigned int *) (function + 4) = 0x8F23001C;
   *(unsigned int *) (function + 8) = 0xAC430000;
   *(unsigned int *) (function +12) = 0x8F390020;
-  *(unsigned int *) (function +16) = 0x03200008;
+  *(unsigned int *) (function +16) = 0x03200008 | JALR_ENCODE_DIFF;
   *(unsigned int *) (function +20) = 0x00000000;
   *(unsigned int *) (function +24) = (unsigned int) variable;
   *(unsigned int *) (function +28) = (unsigned int) data;
@@ -648,7 +654,7 @@ trampoline_function_t alloc_trampoline (trampoline_function_t address, void** va
   *(int *)          (function + 4) == 0x8F23001C && \
   *(int *)          (function + 8) == 0xAC430000 && \
   *(int *)          (function +12) == 0x8F390020 && \
-  *(int *)          (function +16) == 0x03200008 && \
+  *(int *)          (function +16) == (0x03200008 | JALR_ENCODE_DIFF) && \
   *(int *)          (function +20) == 0x00000000
 #define tramp_address(function)  \
   *(unsigned int *) (function +32)
@@ -772,7 +778,7 @@ trampoline_function_t alloc_trampoline (trampoline_function_t address, void** va
   *(unsigned int *)  (function + 4) = 0xDF230020;
   *(unsigned int *)  (function + 8) = 0xFC430000;
   *(unsigned int *)  (function +12) = 0xDF390028;
-  *(unsigned int *)  (function +16) = 0x03200008;
+  *(unsigned int *)  (function +16) = 0x03200008 | JALR_ENCODE_DIFF;
   *(unsigned int *)  (function +20) = 0x00000000;
   *(unsigned long *) (function +24) = (unsigned long) variable;
   *(unsigned long *) (function +32) = (unsigned long) data;
@@ -783,7 +789,7 @@ trampoline_function_t alloc_trampoline (trampoline_function_t address, void** va
   *(unsigned int *)  (function + 4) == 0xDF230020 && \
   *(unsigned int *)  (function + 8) == 0xFC430000 && \
   *(unsigned int *)  (function +12) == 0xDF390028 && \
-  *(unsigned int *)  (function +16) == 0x03200008 && \
+  *(unsigned int *)  (function +16) == (0x03200008 | JALR_ENCODE_DIFF) && \
   *(unsigned int *)  (function +20) == 0x00000000
 #define tramp_address(function)  \
   *(unsigned long *) (function +40)
index 87b6667f22a12c37f37c74131ebfb1a471373b6e..642ab12269206ef0d12cb46982a6749a4343a4c6 100644 (file)
@@ -106,7 +106,11 @@ vacall_receiver:
        beq     $12,$13,.L44
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -128,7 +132,11 @@ vacall_receiver:
        beq     $12,$13,.L55
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
@@ -200,7 +208,11 @@ vacall_receiver:
 .L19:
        daddiu  $13,$14,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L59
+#else
+       beq     $13,$0,.L59
+#endif
        andi    $13,$12,0x800
 
        ld      $13,32($fp)
@@ -226,23 +238,39 @@ vacall_receiver:
 .L23:
        andi    $13,$12,0x800
 .L59:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $14,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $14,$13,.L57
+#else
+       beq     $14,$13,.L57
+#endif
        ld      $13,32($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L58
+#else
+       beq     $12,$0,.L58
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L60:
+#if __mips_isa_rev < 6
        bnel    $14,$12,.L58
+#else
+       bne     $14,$12,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
index 63b81f58f48ceffd030eb27bb84f2f351d3b8220..330a53d0f2ec1e80dfeb45c0145592e2f0cf3bfb 100644 (file)
@@ -106,7 +106,11 @@ vacall_receiver:
        beq     $12,$13,.L44
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -128,7 +132,11 @@ vacall_receiver:
        beq     $12,$13,.L55
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L58
+#else
+       bne     $12,$13,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
@@ -200,7 +208,11 @@ vacall_receiver:
 .L19:
        daddiu  $13,$14,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L59
+#else
+       beq     $13,$0,.L59
+#endif
        andi    $13,$12,0x800
 
        ld      $13,32($fp)
@@ -227,23 +239,39 @@ vacall_receiver:
 .L23:
        andi    $13,$12,0x800
 .L59:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $14,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $14,$13,.L57
+#else
+       beq     $14,$13,.L57
+#endif
        ld      $13,32($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L58
+#else
+       beq     $12,$0,.L58
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L60:
+#if __mips_isa_rev < 6
        bnel    $14,$12,.L58
+#else
+       bne     $14,$12,.L58
+#endif
        move    $sp,$fp
 
        ld      $12,32($fp)
index f19511d5b635f5b8f94d5c5ea4caf91822998b53..82428ebeca38d0d79160b00cb5fdf1cc0e011015 100644 (file)
@@ -105,7 +105,11 @@ vacall_receiver:
        beq     $12,$13,.L46
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -127,7 +131,11 @@ vacall_receiver:
        beq     $12,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
@@ -199,7 +207,11 @@ vacall_receiver:
 .L19:
        addiu   $13,$24,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L60
+#else
+       beq     $13,$0,.L60
+#endif
        andi    $13,$12,0x800
 
        lw      $13,28($fp)
@@ -224,23 +236,39 @@ vacall_receiver:
 .L23:
        andi    $13,$12,0x800
 .L60:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $24,$13,.L57
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $24,$13,.L58
+#else
+       beq     $24,$13,.L58
+#endif
        lw      $13,28($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L59
+#else
+       beq     $12,$0,.L59
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L61:
+#if __mips_isa_rev < 6
        bnel    $24,$12,.L59
+#else
+       bne     $24,$12,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
index 0aa74c5904d5504005e925a9ba79761d2ebb1c8f..6bd8cf087c24876439fba938c59ede472d46dfc3 100644 (file)
@@ -105,7 +105,11 @@ vacall_receiver:
        beq     $12,$13,.L46
        li      $13,15                  
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,0($fp)
@@ -127,7 +131,11 @@ vacall_receiver:
        beq     $12,$13,.L56
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        bnel    $12,$13,.L59
+#else
+       bne     $12,$13,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)
@@ -199,7 +207,11 @@ vacall_receiver:
 .L19:
        addiu   $13,$24,-1
        sltu    $13,$13,16
+#if __mips_isa_rev < 6
        beql    $13,$0,.L60
+#else
+       beq     $13,$0,.L60
+#endif
        andi    $13,$12,0x800
 
        lw      $13,28($fp)
@@ -225,23 +237,39 @@ vacall_receiver:
 .L23:
        andi    $13,$12,0x800
 .L60:
+#if __mips_isa_rev < 6
        beql    $13,$0,.L27
+#else
+       beq     $13,$0,.L27
+#endif
        andi    $12,$12,0x1000
 
        li      $13,4                   
        beq     $24,$13,.L57
        li      $13,8                   
 
+#if __mips_isa_rev < 6
        beql    $24,$13,.L58
+#else
+       beq     $24,$13,.L58
+#endif
        lw      $13,28($fp)
 
        andi    $12,$12,0x1000
+#if __mips_isa_rev < 6
        beql    $12,$0,.L59
+#else
+       beq     $12,$0,.L59
+#endif
        move    $sp,$fp
 
        li      $12,16                  
 .L61:
+#if __mips_isa_rev < 6
        bnel    $24,$12,.L59
+#else
+       bne     $24,$12,.L59
+#endif
        move    $sp,$fp
 
        lw      $12,28($fp)