diff options
Diffstat (limited to 'sysdeps/i386/i586/strcpy.S')
-rw-r--r-- | sysdeps/i386/i586/strcpy.S | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/i386/i586/strcpy.S b/sysdeps/i386/i586/strcpy.S index c940369342..6392a8e3d4 100644 --- a/sysdeps/i386/i586/strcpy.S +++ b/sysdeps/i386/i586/strcpy.S @@ -45,6 +45,10 @@ ENTRY (STRCPY) cfi_rel_offset (edi, 8) movl SRC(%esp), %esi cfi_rel_offset (esi, 4) +#ifdef __CHKP__ + bndldx DEST(%esp,%edi,1), %bnd0 + bndldx SRC(%esp,%esi,1), %bnd1 +#endif xorl %eax, %eax leal -1(%esi), %ecx @@ -61,6 +65,9 @@ ENTRY (STRCPY) /* 0xb is the distance between 2: and 1: but we avoid writing 1f-2b because the assembler generates worse code. */ leal 0xb(%edx,%ecx,8), %ecx +# ifdef __CHKP__ + jmp L(1) +# endif #else leal 1f(,%ecx,8), %ecx #endif |