about summary refs log tree commit diff
path: root/sysdeps/i386/__longjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/__longjmp.S')
-rw-r--r--sysdeps/i386/__longjmp.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S
index 54f31361be..a6d67a7b17 100644
--- a/sysdeps/i386/__longjmp.S
+++ b/sysdeps/i386/__longjmp.S
@@ -21,17 +21,19 @@
 #define _ASM
 #define _SETJMP_H
 #include <bits/setjmp.h>
+#include <asm-syntax.h>
+#include <bp-sym.h>
 #include <bp-asm.h>
 
 #define PARMS	LINKAGE		/* no space for saved regs */
 #define JBUF	PARMS
 #define VAL	JBUF+PTR_SIZE
 
-ENTRY (__longjmp)
+ENTRY (BP_SYM (__longjmp))
 	ENTER
 
 	movl JBUF(%esp), %ecx	/* User's jmp_buf in %ecx.  */
-	LEAVE
+	CHECK_BOUNDS_BOTH_WIDE (%ecx, JBUF(%esp), $JB_SIZE)
 
 	movl VAL(%esp), %eax	/* Second argument is return value.  */
 	/* Save the return address now.  */
@@ -44,4 +46,4 @@ ENTRY (__longjmp)
 	movl (JB_SP*4)(%ecx), %esp
 	/* Jump to saved PC.  */
      	jmp *%edx
-END (__longjmp)
+END (BP_SYM (__longjmp))