Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Apr 2016 16:25:38 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298215 - head/lib/libc/gen
Message-ID:  <201604181625.u3IGPcQc024562@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Mon Apr 18 16:25:37 2016
New Revision: 298215
URL: https://svnweb.freebsd.org/changeset/base/298215

Log:
  Re-use our roundup2() macro instead of reinventing the wheel.
  
  Obtained from:	DragonflyBSD

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

Modified: head/lib/libc/gen/tls.c
==============================================================================
--- head/lib/libc/gen/tls.c	Mon Apr 18 15:08:31 2016	(r298214)
+++ head/lib/libc/gen/tls.c	Mon Apr 18 16:25:37 2016	(r298215)
@@ -33,6 +33,7 @@
  */
 
 #include <sys/cdefs.h>
+#include <sys/param.h>
 #include <stdlib.h>
 #include <string.h>
 #include <elf.h>
@@ -82,9 +83,6 @@ void __libc_free_tls(void *tls, size_t t
 
 #ifndef PIC
 
-#define round(size, align) \
-	(((size) + (align) - 1) & ~((align) - 1))
-
 static size_t tls_static_space;
 static size_t tls_init_size;
 static void *tls_init;
@@ -190,7 +188,7 @@ __libc_free_tls(void *tcb, size_t tcbsiz
 	 * Figure out the size of the initial TLS block so that we can
 	 * find stuff which ___tls_get_addr() allocated dynamically.
 	 */
-	size = round(tls_static_space, tcbalign);
+	size = roundup2(tls_static_space, tcbalign);
 
 	dtv = ((Elf_Addr**)tcb)[1];
 	tlsend = (Elf_Addr) tcb;
@@ -210,7 +208,7 @@ __libc_allocate_tls(void *oldtls, size_t
 	Elf_Addr *dtv;
 	Elf_Addr segbase, oldsegbase;
 
-	size = round(tls_static_space, tcbalign);
+	size = roundup2(tls_static_space, tcbalign);
 
 	if (tcbsize < 2 * sizeof(Elf_Addr))
 		tcbsize = 2 * sizeof(Elf_Addr);
@@ -307,7 +305,7 @@ _init_tls(void)
 
 	for (i = 0; (unsigned) i < phnum; i++) {
 		if (phdr[i].p_type == PT_TLS) {
-			tls_static_space = round(phdr[i].p_memsz,
+			tls_static_space = roundup2(phdr[i].p_memsz,
 			    phdr[i].p_align);
 			tls_init_size = phdr[i].p_filesz;
 			tls_init = (void*) phdr[i].p_vaddr;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604181625.u3IGPcQc024562>