TLS support [marius@freebsd.org: svn commit: r219534 - in head: contrib/gcc/config/sparc gnu/lib/libgomp gnu/lib/libstdc++ gnu/usr.bin/cc/cc_tools]

Marius Strobl marius at alchemy.franken.de
Sat Mar 12 18:58:57 UTC 2011


FYI, now that with binutils 2.17.50 we finally have version supporting
Thread Local Storage on sparc64 I've implemented the necessary relocations
in rtld(1) and enabled TLS support in GCC and its use in malloc(3). Given
that meanwhile TLS otherwise became fairly standard I don't expect any
fallout from this. Should it nevertheless break anything please let me
know.

Marius

----- Forwarded message from Marius Strobl <marius at freebsd.org> -----

Delivered-To: svn-src-all at freebsd.org
From: Marius Strobl <marius at freebsd.org>
Date: Fri, 11 Mar 2011 21:24:02 +0000 (UTC)
To: src-committers at freebsd.org, svn-src-all at freebsd.org,
        svn-src-head at freebsd.org
X-SVN-Group: head
Cc: 
Subject: svn commit: r219534 - in head: contrib/gcc/config/sparc
	gnu/lib/libgomp gnu/lib/libstdc++ gnu/usr.bin/cc/cc_tools
X-BeenThere: svn-src-all at freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
	user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request at freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all at freebsd.org>
List-Help: <mailto:svn-src-all-request at freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request at freebsd.org?subject=subscribe>
Errors-To: owner-svn-src-all at freebsd.org

Author: marius
Date: Fri Mar 11 21:24:02 2011
New Revision: 219534
URL: http://svn.freebsd.org/changeset/base/219534

Log:
  Now that TLS is supported for sparc64 by both binutils 2.17.50 committed
  in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.

Modified:
  head/contrib/gcc/config/sparc/freebsd.h
  head/gnu/lib/libgomp/config.h
  head/gnu/lib/libstdc++/config.h
  head/gnu/usr.bin/cc/cc_tools/auto-host.h

Modified: head/contrib/gcc/config/sparc/freebsd.h
==============================================================================
--- head/contrib/gcc/config/sparc/freebsd.h	Fri Mar 11 21:08:02 2011	(r219533)
+++ head/contrib/gcc/config/sparc/freebsd.h	Fri Mar 11 21:24:02 2011	(r219534)
@@ -161,6 +161,13 @@ Boston, MA 02110-1301, USA.  */
 
 /* #define DWARF_OFFSET_SIZE PTR_SIZE */
 
+#ifdef HAVE_AS_TLS
+#undef TARGET_SUN_TLS
+#undef TARGET_GNU_TLS
+#define TARGET_SUN_TLS 0
+#define TARGET_GNU_TLS 1
+#endif
+
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC						\
   "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} "	\

Modified: head/gnu/lib/libgomp/config.h
==============================================================================
--- head/gnu/lib/libgomp/config.h	Fri Mar 11 21:08:02 2011	(r219533)
+++ head/gnu/lib/libgomp/config.h	Fri Mar 11 21:24:02 2011	(r219534)
@@ -59,7 +59,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if the target supports thread-local storage. */
-#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__)
+#if !defined(__arm__) && !defined(__mips__)
 #define HAVE_TLS 1
 #endif
 

Modified: head/gnu/lib/libstdc++/config.h
==============================================================================
--- head/gnu/lib/libstdc++/config.h	Fri Mar 11 21:08:02 2011	(r219533)
+++ head/gnu/lib/libstdc++/config.h	Fri Mar 11 21:24:02 2011	(r219534)
@@ -371,7 +371,7 @@
 /* #undef HAVE_TANL */
 
 /* Define to 1 if the target supports thread-local storage. */
-#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__)
+#if !defined(__arm__) && !defined(__mips__)
 #define HAVE_TLS 1
 #endif
 

Modified: head/gnu/usr.bin/cc/cc_tools/auto-host.h
==============================================================================
--- head/gnu/usr.bin/cc/cc_tools/auto-host.h	Fri Mar 11 21:08:02 2011	(r219533)
+++ head/gnu/usr.bin/cc/cc_tools/auto-host.h	Fri Mar 11 21:24:02 2011	(r219534)
@@ -287,7 +287,7 @@
 
 /* Define if your assembler supports thread-local storage. */
 #ifndef USED_FOR_TARGET
-#if !defined(__sparc64__) && !defined(__arm__)
+#if !defined(__arm__)
 #define HAVE_AS_TLS 1
 #endif
 #endif
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"

----- End forwarded message -----


More information about the freebsd-sparc64 mailing list