* sysdeps/i386/mul_1.S: Likewise.
* sysdeps/i386/submul_1.S: Likewise.
* sysdeps/i386/i586/addmul_1.S: Likewise.
* sysdeps/i386/i586/mul_1.S: Add bounds checks.
* sysdeps/i386/i586/submul_1.S: Likewise.
shll $2, %sizeP /* convert limbs to bytes */
CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %sizeP)
CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %sizeP)
- CHECK_BOUNDS_BOTH_WIDE (%s2_limb, S2LIMB(%esp), %sizeP)
shrl $2, %sizeP
#endif
leal (%res_ptr,%sizeP,4), %res_ptr
shll $2, %size /* convert limbs to bytes */
CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %size)
CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %size)
- CHECK_BOUNDS_BOTH_WIDE (%s2_limb, S2LIMB(%esp), %size)
shrl $2, %size
#endif
leal (%res_ptr,%size,4), %res_ptr
#include "sysdep.h"
#include "asm-syntax.h"
+#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */
#define s2_limb ebx
.text
-ENTRY(__mpn_mul_1)
+ENTRY (BP_SYM (__mpn_mul_1))
ENTER
pushl %edi
movl S1(%esp), %s1_ptr
movl SIZE(%esp), %size
movl S2LIMB(%esp), %s2_limb
-
+#if __BOUNDED_POINTERS__
+ shll $2, %size /* convert limbs to bytes */
+ CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %size)
+ CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %size)
+ shrl $2, %size
+#endif
leal (%res_ptr,%size,4), %res_ptr
leal (%s1_ptr,%size,4), %s1_ptr
negl %size
LEAVE
ret
#undef size
-END(__mpn_mul_1)
+END (BP_SYM (__mpn_mul_1))
#include "sysdep.h"
#include "asm-syntax.h"
+#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */
#define s2_limb ebx
.text
-ENTRY(__mpn_submul_1)
+ENTRY (BP_SYM (__mpn_submul_1))
ENTER
pushl %edi
movl S1(%esp), %s1_ptr
movl SIZE(%esp), %size
movl S2LIMB(%esp), %s2_limb
-
+#if __BOUNDED_POINTERS__
+ shll $2, %sizeP /* convert limbs to bytes */
+ CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %sizeP)
+ CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %sizeP)
+ shrl $2, %sizeP
+#endif
leal (%res_ptr,%size,4), %res_ptr
leal (%s1_ptr,%size,4), %s1_ptr
negl %size
LEAVE
ret
#undef size
-END(__mpn_submul_1)
+END (BP_SYM (__mpn_submul_1))
shll $2, %size /* convert limbs to bytes */
CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %size)
CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %size)
- CHECK_BOUNDS_BOTH_WIDE (%s2_limb, S2LIMB(%esp), %size)
shrl $2, %size
#endif
leal (%res_ptr,%size,4), %res_ptr
shll $2, %sizeP /* convert limbs to bytes */
CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %sizeP)
CHECK_BOUNDS_BOTH_WIDE (%s1_ptr, S1(%esp), %sizeP)
- CHECK_BOUNDS_BOTH_WIDE (%s2_limb, S2LIMB(%esp), %sizeP)
shrl $2, %sizeP
#endif
leal (%res_ptr,%sizeP,4), %res_ptr