This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-478-g352988a
- From: tuliom at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 28 Oct 2015 13:42:55 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-478-g352988a
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 352988a4a66723b9884ef92e0c2a2ae1165776d6 (commit)
from c871b9b096e107fe6220e18102f5fb8070b49819 (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=352988a4a66723b9884ef92e0c2a2ae1165776d6
commit 352988a4a66723b9884ef92e0c2a2ae1165776d6
Author: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Date: Thu Oct 8 14:26:23 2015 -0300
powerpc: Provide __tls_get_addr () in static libc
Since '--no-tls-optimize' is available for Power in ld, we need to provide
__tls_get_addr () in static libc in order to avoid undefined references to this
symbol when that flag is used.
* sysdeps/powerpc/libc-tls.c: New file. Provides __tls_get_addr () in
static libc.
diff --git a/ChangeLog b/ChangeLog
index 321a857..76f23fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-28 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/libc-tls.c: New file. Provides __tls_get_addr () in
+ static libc.
+
2015-10-28 Joseph Myers <joseph@codesourcery.com>
* sysdeps/i386/configure.ac (libc_cv_cc_avx2): Remove configure
diff --git a/sysdeps/powerpc/libc-tls.c b/sysdeps/powerpc/libc-tls.c
new file mode 100644
index 0000000..ee61ecc
--- /dev/null
+++ b/sysdeps/powerpc/libc-tls.c
@@ -0,0 +1,32 @@
+/* Thread-local storage handling in the ELF dynamic linker. PowerPC version.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <csu/libc-tls.c>
+#include <dl-tls.h>
+
+/* On powerpc, the linker usually optimizes code sequences used to access
+ Thread Local Storage. However, when the user disables these optimizations
+ by passing --no-tls-optimze to the linker, we need to provide __tls_get_addr
+ in static libc in order to avoid undefined references to that symbol. */
+
+void *
+__tls_get_addr (tls_index *ti)
+{
+ dtv_t *dtv = THREAD_DTV ();
+ return (char *) dtv[1].pointer.val + ti->ti_offset + TLS_DTV_OFFSET;
+}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
sysdeps/{sh => powerpc}/libc-tls.c | 14 +++++++-------
2 files changed, 12 insertions(+), 7 deletions(-)
copy sysdeps/{sh => powerpc}/libc-tls.c (62%)
hooks/post-receive
--
GNU C Library master sources