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.16-ports-merge-297-g053406f


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  053406fa70d071423c43465d60042d84c24f94cf (commit)
      from  14c996c83b265c31aae5f64480d393fa5d3364f3 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=053406fa70d071423c43465d60042d84c24f94cf

commit 053406fa70d071423c43465d60042d84c24f94cf
Author: Chris Metcalf <cmetcalf@tilera.com>
Date:   Thu Sep 6 11:25:04 2012 -0400

    tile: BZ#14237: fix __tls_get_addr bug initializing new modules
    
    We were missing a check for TLS_DTV_UNALLOCATED; if set, we need
    to go to the slow path.

diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile
index 0be6192..c3a027d 100644
--- a/ports/ChangeLog.tile
+++ b/ports/ChangeLog.tile
@@ -1,3 +1,7 @@
+2012-09-06  Chris Metcalf  <cmetcalf@tilera.com>
+
+	* sysdeps/tile/__tls_get_addr.S: Fix TLS module initialization bug.
+
 2012-08-27  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/tile/kernel-features.h
diff --git a/ports/sysdeps/tile/__tls_get_addr.S b/ports/sysdeps/tile/__tls_get_addr.S
index 74e4fa2..6de79ba 100644
--- a/ports/sysdeps/tile/__tls_get_addr.S
+++ b/ports/sysdeps/tile/__tls_get_addr.S
@@ -76,6 +76,8 @@ ENTRY (__tls_get_addr)
 	 ADD_PTR r28, r28, r27	/* pointer into module array */
 	}
 	LD_PTR r26, r28		/* r26 = module TLS pointer */
+	CMPEQI r25, r26, -1     /* check r26 == TLS_DTV_UNALLOCATED */
+	BNEZ r25, .Lslowpath
 	{
 	 ADD_PTR r0, r26, r29
 	 jrp lr

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

Summary of changes:
 ports/ChangeLog.tile                |    4 ++++
 ports/sysdeps/tile/__tls_get_addr.S |    2 ++
 2 files changed, 6 insertions(+), 0 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]