mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Replace MEMPCPY_P/PIC with USE_AS_MEMPCPY/SHARED
Replace MEMPCPY_P with USE_AS_MEMPCPY in i586 memcpy.S to support i386 multi-arch memcpy. Also we should check SHARED not PIC for libc.so since libc.a may be compiled with PIC. * sysdeps/i386/i586/memcpy.S (MEMPCPY_P): Removed. Check USE_AS_MEMPCPY/SHARED instead of MEMPCPY_P/PIC. * sysdeps/i386/i586/mempcpy.S (USE_AS_MEMPCPY): New.
This commit is contained in:
parent
38d22f9f48
commit
b6e19c4bdc
@ -1,3 +1,9 @@
|
||||
2015-08-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/i386/i586/memcpy.S (MEMPCPY_P): Removed.
|
||||
Check USE_AS_MEMPCPY/SHARED instead of MEMPCPY_P/PIC.
|
||||
* sysdeps/i386/i586/mempcpy.S (USE_AS_MEMPCPY): New.
|
||||
|
||||
2015-08-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/x86/Makefile [$(subdir) == elf] (CFLAGS-.os,
|
||||
|
@ -20,11 +20,6 @@
|
||||
#include <sysdep.h>
|
||||
#include "asm-syntax.h"
|
||||
|
||||
/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy',
|
||||
and the return value is the byte after the last one copied in
|
||||
the destination. */
|
||||
#define MEMPCPY_P (defined memcpy)
|
||||
|
||||
#define PARMS 4+8 /* space for 2 saved regs */
|
||||
#define RTN PARMS
|
||||
#define DEST RTN
|
||||
@ -105,13 +100,13 @@ L(3): movl 28(%edi), %edx
|
||||
|
||||
/* Correct extra loop counter modification. */
|
||||
L(2): addl $32, %ecx
|
||||
#if !MEMPCPY_P
|
||||
#ifndef USE_AS_MEMPCPY
|
||||
movl DEST(%esp), %eax
|
||||
#endif
|
||||
|
||||
L(1): rep; movsb
|
||||
|
||||
#if MEMPCPY_P
|
||||
#ifdef USE_AS_MEMPCPY
|
||||
movl %edi, %eax
|
||||
#endif
|
||||
|
||||
@ -124,6 +119,6 @@ L(1): rep; movsb
|
||||
|
||||
ret
|
||||
END (memcpy)
|
||||
#if !MEMPCPY_P
|
||||
#ifndef USE_AS_MEMPCPY
|
||||
libc_hidden_builtin_def (memcpy)
|
||||
#endif
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define USE_AS_MEMPCPY
|
||||
#define memcpy __mempcpy
|
||||
#define __memcpy_chk __mempcpy_chk
|
||||
#include <sysdeps/i386/i586/memcpy.S>
|
||||
|
Loading…
Reference in New Issue
Block a user