svn commit: r324866 - head/include

Jilles Tjoelker jilles at FreeBSD.org
Sun Oct 22 20:01:09 UTC 2017


Author: jilles
Date: Sun Oct 22 20:01:07 2017
New Revision: 324866
URL: https://svnweb.freebsd.org/changeset/base/324866

Log:
  libc: Do not refer to _DefaultRuneLocale in ctype inlines
  
  Referring to _DefaultRuneLocale causes this >4KB structure to be copied to
  all executables that use <ctype.h> inlines (except PIE executables).
  
  This only affects the case where thread local storage is available.
  
  _CurrentRuneLocale cannot be NULL, so the check can be removed entirely.
  
  _DefaultRuneLocale needs to remain available for now since libc++ uses it.
  The __isctype inline in include/_ctype.h also refers to _DefaultRuneLocale
  and remains available because it may still be used by third party software.
  
  Reviewed by:	bdrewery, theraven
  Differential Revision:	https://reviews.freebsd.org/D10363

Modified:
  head/include/runetype.h

Modified: head/include/runetype.h
==============================================================================
--- head/include/runetype.h	Sun Oct 22 19:17:25 2017	(r324865)
+++ head/include/runetype.h	Sun Oct 22 20:01:07 2017	(r324866)
@@ -95,9 +95,7 @@ static __inline const _RuneLocale *__getCurrentRuneLoc
 
 	if (_ThreadRuneLocale) 
 		return _ThreadRuneLocale;
-	if (_CurrentRuneLocale) 
-		return _CurrentRuneLocale;
-	return &_DefaultRuneLocale;
+	return _CurrentRuneLocale;
 }
 #endif /* __NO_TLS || __RUNETYPE_INTERNAL */
 #define _CurrentRuneLocale (__getCurrentRuneLocale())


More information about the svn-src-all mailing list