This is the mail archive of the libc-alpha@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]

request for approval to backport fix to bug 14237 to 2.16 branch


I fixed bug 14237 on master a couple of months ago (commit 053406fa70) but realized I had never fixed it on 2.16.  I'd like to get approval to cherry-pick the change and push it to 2.16.  Thanks!

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/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

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com


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