mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-26 11:47:31 +00:00
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
This commit is contained in:
parent
7421ff0751
commit
1f04a45950
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=324866
@ -95,9 +95,7 @@ static __inline const _RuneLocale *__getCurrentRuneLocale(void)
|
||||
|
||||
if (_ThreadRuneLocale)
|
||||
return _ThreadRuneLocale;
|
||||
if (_CurrentRuneLocale)
|
||||
return _CurrentRuneLocale;
|
||||
return &_DefaultRuneLocale;
|
||||
return _CurrentRuneLocale;
|
||||
}
|
||||
#endif /* __NO_TLS || __RUNETYPE_INTERNAL */
|
||||
#define _CurrentRuneLocale (__getCurrentRuneLocale())
|
||||
|
Loading…
Reference in New Issue
Block a user