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())
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to