mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 19:28:29 +00:00
Update Musl Libc code
We now have implement all of Musl's localization code, the same way that Musl implements localization. You may need setlocale(LC_ALL, "C.UTF-8"), just in case anything stops working as expected.
This commit is contained in:
parent
d0360bf4bd
commit
bb815eafaf
116 changed files with 6525 additions and 5523 deletions
|
@ -37,6 +37,7 @@
|
|||
#include "libc/runtime/syslib.internal.h"
|
||||
#include "libc/stdalign.internal.h"
|
||||
#include "libc/str/locale.h"
|
||||
#include "libc/str/locale.internal.h"
|
||||
#include "libc/str/str.h"
|
||||
#include "libc/sysv/consts/map.h"
|
||||
#include "libc/sysv/consts/prot.h"
|
||||
|
@ -213,7 +214,6 @@ textstartup void __enable_tls(void) {
|
|||
tib->tib_errno = __errno;
|
||||
tib->tib_strace = __strace;
|
||||
tib->tib_ftrace = __ftrace;
|
||||
tib->tib_locale = (intptr_t)&__c_dot_utf8_locale;
|
||||
tib->tib_pthread = (pthread_t)&_pthread_static;
|
||||
if (IsWindows()) {
|
||||
intptr_t hThread;
|
||||
|
@ -246,6 +246,7 @@ textstartup void __enable_tls(void) {
|
|||
// initialize posix threads
|
||||
_pthread_static.tib = tib;
|
||||
_pthread_static.pt_flags = PT_STATIC;
|
||||
_pthread_static.pt_locale = &__global_locale;
|
||||
dll_init(&_pthread_static.list);
|
||||
_pthread_list = &_pthread_static.list;
|
||||
atomic_store_explicit(&_pthread_static.ptid, tid, memory_order_release);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/intrin/getenv.h"
|
||||
#include "libc/intrin/safemacros.h"
|
||||
#include "libc/log/libfatal.internal.h"
|
||||
|
@ -27,8 +28,9 @@
|
|||
*/
|
||||
textstartup int __strace_init(int argc, char **argv, char **envp, long *auxv) {
|
||||
/* asan isn't initialized yet at runlevel 300 */
|
||||
if (__intercept_flag(&argc, argv, "--strace") ||
|
||||
__atoul(nulltoempty(__getenv(envp, "STRACE").s))) {
|
||||
if ((__intercept_flag(&argc, argv, "--strace") ||
|
||||
__atoul(nulltoempty(__getenv(envp, "STRACE").s))) &&
|
||||
!issetugid()) {
|
||||
strace_enabled(+1);
|
||||
}
|
||||
return (__argc = argc);
|
||||
|
|
|
@ -112,7 +112,7 @@ static void __zipos_init(void) {
|
|||
const char *progpath;
|
||||
if (!(s = getenv("COSMOPOLITAN_DISABLE_ZIPOS"))) {
|
||||
// this environment variable may be a filename or file descriptor
|
||||
if ((progpath = getenv("COSMOPOLITAN_INIT_ZIPOS")) &&
|
||||
if ((progpath = secure_getenv("COSMOPOLITAN_INIT_ZIPOS")) &&
|
||||
(x = strtol(progpath, &endptr, 10)) >= 0 && !*endptr) {
|
||||
fd = x;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue