svn commit: r203946 - head/lib/libc/gen

Marcel Moolenaar marcel at FreeBSD.org
Tue Feb 16 02:22:59 UTC 2010


Author: marcel
Date: Tue Feb 16 02:22:59 2010
New Revision: 203946
URL: http://svn.freebsd.org/changeset/base/203946

Log:
  The static TLS size as given by tls_static_space includes TLS_TCB_SIZE
  bytes of TCB in variant I.

Modified:
  head/lib/libc/gen/tls.c

Modified: head/lib/libc/gen/tls.c
==============================================================================
--- head/lib/libc/gen/tls.c	Tue Feb 16 01:44:14 2010	(r203945)
+++ head/lib/libc/gen/tls.c	Tue Feb 16 02:22:59 2010	(r203946)
@@ -137,11 +137,11 @@ __libc_allocate_tls(void *oldtcb, size_t
 	if (oldtcb != NULL && tcbsize == TLS_TCB_SIZE)
 		return (oldtcb);
 
-	tcb = calloc(1, tls_static_space + tcbsize);
+	tcb = calloc(1, tls_static_space + tcbsize - TLS_TCB_SIZE);
 	tls = (Elf_Addr **)(tcb + tcbsize - TLS_TCB_SIZE);
 
 	if (oldtcb != NULL) {
-		memcpy(tls, oldtcb, tls_static_space + TLS_TCB_SIZE);
+		memcpy(tls, oldtcb, tls_static_space);
 		free(oldtcb);
 
 		/* Adjust the DTV. */


More information about the svn-src-all mailing list