Index: mpn/arm/aorslsh1_n.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/aorslsh1_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/aorslsh1_n.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -151,5 +151,8 @@ L(rt1): mov r14, r12 REVCY(r12) L(rt0): RETVAL( r14) pop {r4-r10r11, r14} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/bdiv_dbm1c.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/bdiv_dbm1c.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/bdiv_dbm1c.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -97,5 +97,8 @@ L(wd1): subs r5, r5, r8 str r5, [qp] sbc r0, r5, r12 pop {r4, r5, r6, r7, r8} - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() Index: mpn/arm/com.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/com.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/com.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/com.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -59,5 +59,9 @@ L(top): ldmia up!, { r3, r8, r9, r12 } C bne L(top) ldmfd sp!, { r7, r8, r9 } C restore regs from stack -L(rtn): bx lr +L(rtn): +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() Index: mpn/arm/copyd.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -p -u -r1.1.1.2 -r1.2 --- mpn/arm/copyd.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2 +++ mpn/arm/copyd.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -80,5 +80,9 @@ L(end): stmda rp, { r3,r4,r5,r12 } pop { r4-r5 } -L(rtn): bx lr +L(rtn): +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() Index: mpn/arm/copyi.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -p -u -r1.1.1.2 -r1.2 --- mpn/arm/copyi.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2 +++ mpn/arm/copyi.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -75,5 +75,9 @@ L(end): stm rp, { r3,r4,r5,r12 } pop { r4-r5 } -L(rtn): bx lr +L(rtn): +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() Index: mpn/arm/invert_limb.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/invert_limb.asm,v retrieving revision 1.1.1.2 retrieving revision 1.3 diff -p -u -r1.1.1.2 -r1.3 --- mpn/arm/invert_limb.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2 +++ mpn/arm/invert_limb.asm 29 Nov 2013 07:57:11 -0000 1.3 @@ -41,7 +41,10 @@ PROLOGUE(mpn_invert_limb) adds r1, r12, r0 adc r3, r3, r0 rsb r0, r3, r2 - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() .section .rodata Index: mpn/arm/logops_n.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/logops_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/logops_n.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -123,5 +123,8 @@ L(mid): sub n, n, #4 pop { r4, r5, r6, r7 } C popping r8-r10 here strangely fails L(rtn): pop { r8, r9, r10 } - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/lshift.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/lshift.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/lshift.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -84,5 +84,8 @@ L(1): str r7, [rp, #-4] mov r0, r4, lsr tnc pop {r4, r6, r7, r8} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/lshiftc.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/lshiftc.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/lshiftc.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -91,5 +91,8 @@ str r7, [rp, #-4] mov r0, r4, lsr tnc pop {r4, r6, r7, r8} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/mod_34lsub1.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/mod_34lsub1.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/mod_34lsub1.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -94,7 +94,10 @@ L(sum2): add r0, r0, r12, lsr #8 pop { r4, r5, r6, r7 } - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') L(le2): cmn n, #1 bne L(1) @@ -105,5 +108,8 @@ L(1): ldr r2, [ap] bic r0, r2, #0xff000000 add r0, r0, r2, lsr #24 pop { r4, r5, r6, r7 } - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() Index: mpn/arm/mode1o.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/mode1o.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/mode1o.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -68,5 +68,8 @@ L(end): sbcs cy, r5, cy addcc r0, r0, #1 ldmfd sp!, {r4, r5} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/rsh1aors_n.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/rsh1aors_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/rsh1aors_n.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -108,5 +108,8 @@ L(e1): RSTCY( r12, r1) str r4, [rp, #0] mov r0, r11 pop {r4-r11} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/rshift.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -p -u -r1.1.1.1 -r1.2 --- mpn/arm/rshift.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1 +++ mpn/arm/rshift.asm 29 Nov 2013 08:02:28 -0000 1.2 @@ -82,5 +82,8 @@ L(1): str r7, [rp] mov r0, r4, lsl tnc pop {r4, r6, r7, r8} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/udiv.asm =================================================================== RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -p -u -r1.1.1.2 -r1.4 --- mpn/arm/udiv.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2 +++ mpn/arm/udiv.asm 29 Nov 2013 08:02:28 -0000 1.4 @@ -50,7 +50,10 @@ L(oop): divstep(n1,n0,d) str n1, [rem_ptr] C store remainder adc r0, n0, n0 C quotient: add last carry from divstep - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') L(_large_divisor): stmfd sp!, { r8, lr } Index: mpn/arm/cnd_aors_n.asm =================================================================== --- mpn/arm/cnd_aors_n.asm.orig 2014-03-25 07:37:55.000000000 -0700 +++ mpn/arm/cnd_aors_n.asm 2015-04-01 23:38:37.000000000 -0700 @@ -130,5 +130,8 @@ L(end): RETVAL pop {r4-r11} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() Index: mpn/arm/dive_1.asm =================================================================== --- mpn/arm/dive_1.asm.orig 2014-03-25 07:37:55.000000000 -0700 +++ mpn/arm/dive_1.asm 2015-04-02 00:00:58.000000000 -0700 @@ -112,7 +112,10 @@ mul r9, r4, cy str r9, [rp] pop {r4-r9} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') L(unnorm): rsb tnc, cnt, #32 @@ -136,7 +139,10 @@ mul r9, r4, cy str r9, [rp] pop {r4-r9} - bx r14 +ifdef(`ARM_THUMB_MODE', +` bx r14 +',` mov pc, r14 +') EPILOGUE() .section .rodata Index: mpn/arm/sec_tabselect.asm =================================================================== --- mpn/arm/sec_tabselect.asm.orig 2014-03-25 07:37:55.000000000 -0700 +++ mpn/arm/sec_tabselect.asm 2015-04-02 00:51:31.000000000 -0700 @@ -109,7 +109,10 @@ bge L(tp2) stmia rp, {r8,r9} pop {r4-r11, r14} - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') L(n2): cmp j, #-2 bne L(n1) @@ -127,5 +130,8 @@ bge L(tp1) str r8, [rp] L(n1): pop {r4-r11, r14} - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE()