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 release/2.23/master updated. glibc-2.23-103-gbc56638


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, release/2.23/master has been updated
       via  bc566388d68eb631a6ff0408d57a78d0a2781025 (commit)
       via  4401ec26af6b6fd0b2c1f2bd2f54ee41479cf3f9 (commit)
      from  d990d79610362f823292f9d869b84b4ec4491159 (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=bc566388d68eb631a6ff0408d57a78d0a2781025

commit bc566388d68eb631a6ff0408d57a78d0a2781025
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Oct 19 08:42:59 2017 -0700

    Avoid .symver on common symbols [BZ #21666]
    
    The .symver directive on common symbol just creates a new common symbol,
    not an alias and the newer assembler with the bug fix for
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21661
    
    will issue an error.  Before the fix, we got
    
    $ readelf -sW libc.so | grep "loc[12s]"
      5109: 00000000003a0608     8 OBJECT  LOCAL  DEFAULT   36 loc1
      5188: 00000000003a0610     8 OBJECT  LOCAL  DEFAULT   36 loc2
      5455: 00000000003a0618     8 OBJECT  LOCAL  DEFAULT   36 locs
      6575: 00000000003a05f0     8 OBJECT  GLOBAL DEFAULT   36 locs@GLIBC_2.2.5
      7156: 00000000003a05f8     8 OBJECT  GLOBAL DEFAULT   36 loc1@GLIBC_2.2.5
      7312: 00000000003a0600     8 OBJECT  GLOBAL DEFAULT   36 loc2@GLIBC_2.2.5
    
    in libc.so.  The versioned loc1, loc2 and locs have the wrong addresses.
    After the fix, we got
    
    $ readelf -sW libc.so | grep "loc[12s]"
      6570: 000000000039e3b8     8 OBJECT  GLOBAL DEFAULT   34 locs@GLIBC_2.2.5
      7151: 000000000039e3c8     8 OBJECT  GLOBAL DEFAULT   34 loc1@GLIBC_2.2.5
      7307: 000000000039e3c0     8 OBJECT  GLOBAL DEFAULT   34 loc2@GLIBC_2.2.5
    
    	[BZ #21666]
    	* misc/regexp.c (loc1): Add __attribute__ ((nocommon));
    	(loc2): Likewise.
    	(locs): Likewise.
    
    (cherry picked from commit 388b4f1a02f3a801965028bbfcd48d905638b797)

diff --git a/ChangeLog b/ChangeLog
index 697bffd..def4183 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+	[BZ #21666]
+	* misc/regexp.c (loc1): Add __attribute__ ((nocommon));
+	(loc2): Likewise.
+	(locs): Likewise.
+
+2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Don't
 	adjust CFA when allocating register save area on re-aligned
 	stack.
diff --git a/misc/regexp.c b/misc/regexp.c
index 3b36682..b2a2c6e 100644
--- a/misc/regexp.c
+++ b/misc/regexp.c
@@ -29,14 +29,15 @@
 
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23)
 
-/* Define the variables used for the interface.  */
-char *loc1;
-char *loc2;
+/* Define the variables used for the interface.  Avoid .symver on common
+   symbol, which just creates a new common symbol, not an alias.  */
+char *loc1 __attribute__ ((nocommon));
+char *loc2 __attribute__ ((nocommon));
 compat_symbol (libc, loc1, loc1, GLIBC_2_0);
 compat_symbol (libc, loc2, loc2, GLIBC_2_0);
 
 /* Although we do not support the use we define this variable as well.  */
-char *locs;
+char *locs __attribute__ ((nocommon));
 compat_symbol (libc, locs, locs, GLIBC_2_0);
 
 

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

commit 4401ec26af6b6fd0b2c1f2bd2f54ee41479cf3f9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Oct 19 08:40:39 2017 -0700

    X86-64: Correct CFA in _dl_runtime_resolve
    
    When stack is re-aligned in _dl_runtime_resolve, there is no need to
    adjust CFA when allocating register save area on stack.
    
    	* sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Don't
    	adjust CFA when allocating register save area on re-aligned
    	stack.
    
    (cherry picked from commit 0ac8ee53e8efbfd6e1c37094b4653f5c2dad65b5)

diff --git a/ChangeLog b/ChangeLog
index 5528a57..697bffd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Don't
+	adjust CFA when allocating register save area on re-aligned
+	stack.
+
 2017-06-14  Florian Weimer  <fweimer@redhat.com>
 
 	* sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard.
diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
index b90836a..8161f96 100644
--- a/sysdeps/x86_64/dl-trampoline.h
+++ b/sysdeps/x86_64/dl-trampoline.h
@@ -69,7 +69,9 @@ _dl_runtime_resolve:
 	and $-VEC_SIZE, %RSP_LP
 #endif
 	sub $REGISTER_SAVE_AREA, %RSP_LP
+#if !DL_RUNTIME_RESOLVE_REALIGN_STACK
 	cfi_adjust_cfa_offset(REGISTER_SAVE_AREA)
+#endif
 	# Preserve registers otherwise clobbered.
 	movq %rax, REGISTER_SAVE_RAX(%rsp)
 	movq %rcx, REGISTER_SAVE_RCX(%rsp)

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

Summary of changes:
 ChangeLog                      |   13 +++++++++++++
 misc/regexp.c                  |    9 +++++----
 sysdeps/x86_64/dl-trampoline.h |    2 ++
 3 files changed, 20 insertions(+), 4 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]