This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.22-173-gf6b71ea


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f6b71eada3cfbaa13dd4019978e9bd29055bad9f (commit)
       via  b6e19c4bdcb6b7093a3913ce26f6ec50b9a6e0dc (commit)
      from  38d22f9f48a84b441c5777aff103f5b980243b5f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f6b71eada3cfbaa13dd4019978e9bd29055bad9f

commit f6b71eada3cfbaa13dd4019978e9bd29055bad9f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 26 08:00:47 2015 -0700

    Replace BZERO_P/PIC with USE_AS_BZERO/SHARED
    
    Replace BZERO_P with USE_AS_BZERO in i586/i686 memset.S to support i386
    multi-arch memset.  Also we should check SHARED not PIC for libc.so
    since libc.a may be compiled with PIC.
    
    	* sysdeps/i386/i586/bzero.S (USE_AS_BZERO): New.
    	* sysdeps/i386/i686/bzero.S (USE_AS_BZERO): Likewise.
    	* sysdeps/i386/i586/memset.S (BZERO_P): Removed.
    	Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
    	(__memset_zero_constant_len_parameter): New.
    	* sysdeps/i386/i686/memset.S (BZERO_P): Removed.
    	Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
    	(__memset_zero_constant_len_parameter): Don't define if
    	__memset_chk or USE_AS_BZERO are defined.

diff --git a/ChangeLog b/ChangeLog
index a7ff93e..5d69000 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2015-08-26  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i586/bzero.S (USE_AS_BZERO): New.
+	* sysdeps/i386/i686/bzero.S (USE_AS_BZERO): Likewise.
+	* sysdeps/i386/i586/memset.S (BZERO_P): Removed.
+	Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
+	(__memset_zero_constant_len_parameter): New.
+	* sysdeps/i386/i686/memset.S (BZERO_P): Removed.
+	Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
+	(__memset_zero_constant_len_parameter): Don't define if
+	__memset_chk or USE_AS_BZERO are defined.
+
+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.
diff --git a/sysdeps/i386/i586/bzero.S b/sysdeps/i386/i586/bzero.S
index 84d2f70..2a10671 100644
--- a/sysdeps/i386/i586/bzero.S
+++ b/sysdeps/i386/i586/bzero.S
@@ -1,3 +1,4 @@
+#define USE_AS_BZERO
 #define memset __bzero
 #include <sysdeps/i386/i586/memset.S>
 weak_alias (__bzero, bzero)
diff --git a/sysdeps/i386/i586/memset.S b/sysdeps/i386/i586/memset.S
index bc26501..82f7878 100644
--- a/sysdeps/i386/i586/memset.S
+++ b/sysdeps/i386/i586/memset.S
@@ -21,13 +21,10 @@
 #include <sysdep.h>
 #include "asm-syntax.h"
 
-/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
-#define BZERO_P (defined memset)
-
 #define PARMS	4+4	/* space for 1 saved reg */
 #define RTN	PARMS
 #define DEST	RTN
-#if BZERO_P
+#ifdef USE_AS_BZERO
 # define LEN	DEST+4
 #else
 # define CHR	DEST+4
@@ -35,7 +32,7 @@
 #endif
 
         .text
-#if defined PIC && IS_IN (libc) && !BZERO_P
+#if defined SHARED && IS_IN (libc) && !defined USE_AS_BZERO
 ENTRY (__memset_chk)
 	movl	12(%esp), %eax
 	cmpl	%eax, 16(%esp)
@@ -50,7 +47,7 @@ ENTRY (memset)
 	movl	DEST(%esp), %edi
 	cfi_rel_offset (edi, 0)
 	movl	LEN(%esp), %edx
-#if BZERO_P
+#ifdef USE_AS_BZERO
 	xorl	%eax, %eax	/* we fill with 0 */
 #else
 	movb	CHR(%esp), %al
@@ -104,7 +101,7 @@ L(2):	shrl	$2, %ecx	/* convert byte count to longword count */
 	rep
 	stosb
 
-#if !BZERO_P
+#ifndef USE_AS_BZERO
 	/* Load result (only if used as memset).  */
 	movl DEST(%esp), %eax	/* start address of destination is result */
 #endif
@@ -112,10 +109,13 @@ L(2):	shrl	$2, %ecx	/* convert byte count to longword count */
 	cfi_adjust_cfa_offset (-4)
 	cfi_restore (edi)
 
-#if BZERO_P
-	ret
-#else
 	ret
-#endif
 END (memset)
 libc_hidden_builtin_def (memset)
+
+#if defined SHARED && IS_IN (libc) && !defined __memset_chk \
+    && !defined USE_AS_BZERO
+strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
+	.section .gnu.warning.__memset_zero_constant_len_parameter
+	.string "memset used with constant zero length parameter; this could be due to transposed parameters"
+#endif
diff --git a/sysdeps/i386/i686/bzero.S b/sysdeps/i386/i686/bzero.S
index 34b0faa..c7898f1 100644
--- a/sysdeps/i386/i686/bzero.S
+++ b/sysdeps/i386/i686/bzero.S
@@ -1,3 +1,4 @@
+#define USE_AS_BZERO
 #define memset __bzero
 #include <sysdeps/i386/i686/memset.S>
 weak_alias (__bzero, bzero)
diff --git a/sysdeps/i386/i686/memset.S b/sysdeps/i386/i686/memset.S
index b6dbf2a..86c3010 100644
--- a/sysdeps/i386/i686/memset.S
+++ b/sysdeps/i386/i686/memset.S
@@ -21,11 +21,8 @@
 #include <sysdep.h>
 #include "asm-syntax.h"
 
-/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
-#define BZERO_P (defined memset)
-
 #define PARMS	4+4	/* space for 1 saved reg */
-#if BZERO_P
+#ifdef USE_AS_BZERO
 # define DEST	PARMS
 # define LEN	DEST+4
 #else
@@ -36,7 +33,7 @@
 #endif
 
         .text
-#if defined PIC && IS_IN (libc) && !BZERO_P
+#if defined SHARED && IS_IN (libc) && !defined USE_AS_BZERO
 ENTRY_CHK (__memset_chk)
 	movl	12(%esp), %eax
 	cmpl	%eax, 16(%esp)
@@ -50,7 +47,7 @@ ENTRY (memset)
 	cfi_adjust_cfa_offset (4)
 	movl	DEST(%esp), %edx
 	movl	LEN(%esp), %ecx
-#if BZERO_P
+#ifdef USE_AS_BZERO
 	xorl	%eax, %eax	/* fill with 0 */
 #else
 	movzbl	CHR(%esp), %eax
@@ -74,7 +71,7 @@ ENTRY (memset)
 2:	movl	%ecx, %edx
 	shrl	$2, %ecx
 	andl	$3, %edx
-#if !BZERO_P
+#ifndef USE_AS_BZERO
 	imul	$0x01010101, %eax
 #endif
 	rep
@@ -84,22 +81,19 @@ ENTRY (memset)
 	stosb
 
 1:
-#if !BZERO_P
+#ifndef USE_AS_BZERO
 	movl DEST(%esp), %eax	/* start address of destination is result */
 #endif
 	popl	%edi
 	cfi_adjust_cfa_offset (-4)
 	cfi_restore (edi)
 
-#if BZERO_P
-	ret
-#else
 	ret
-#endif
 END (memset)
 libc_hidden_builtin_def (memset)
 
-#if defined PIC && IS_IN (libc) && !BZERO_P
+#if defined SHARED && IS_IN (libc) && !defined __memset_chk \
+    && !defined USE_AS_BZERO
 strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
 	.section .gnu.warning.__memset_zero_constant_len_parameter
 	.string "memset used with constant zero length parameter; this could be due to transposed parameters"

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b6e19c4bdcb6b7093a3913ce26f6ec50b9a6e0dc

commit b6e19c4bdcb6b7093a3913ce26f6ec50b9a6e0dc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 26 07:59:15 2015 -0700

    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.

diff --git a/ChangeLog b/ChangeLog
index 478a009..a7ff93e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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,
 	tests-special, $(objpfx)tst-ld-sse-use.out): Moved to ...
 	* sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os,
diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S
index 9797365..e0ac692 100644
--- a/sysdeps/i386/i586/memcpy.S
+++ b/sysdeps/i386/i586/memcpy.S
@@ -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
diff --git a/sysdeps/i386/i586/mempcpy.S b/sysdeps/i386/i586/mempcpy.S
index afc112d..720a4c0 100644
--- a/sysdeps/i386/i586/mempcpy.S
+++ b/sysdeps/i386/i586/mempcpy.S
@@ -1,3 +1,4 @@
+#define USE_AS_MEMPCPY
 #define memcpy __mempcpy
 #define __memcpy_chk __mempcpy_chk
 #include <sysdeps/i386/i586/memcpy.S>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |   18 ++++++++++++++++++
 sysdeps/i386/i586/bzero.S   |    1 +
 sysdeps/i386/i586/memcpy.S  |   11 +++--------
 sysdeps/i386/i586/mempcpy.S |    1 +
 sysdeps/i386/i586/memset.S  |   22 +++++++++++-----------
 sysdeps/i386/i686/bzero.S   |    1 +
 sysdeps/i386/i686/memset.S  |   20 +++++++-------------
 7 files changed, 42 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]