Make improvements

- Introduce portable sched_getcpu() api
- Support GCC's __target_clones__ feature
- Make fma() go faster on x86 in default mode
- Remove some asan checks from core libraries
- WinMain() now ensures $HOME and $USER are defined
This commit is contained in:
Justine Tunney 2024-02-01 03:39:46 -08:00
parent d5225a693b
commit 2ab9e9f7fd
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
192 changed files with 2809 additions and 932 deletions

View file

@ -31,6 +31,8 @@ _Thread_local long y[1] = {40};
_Alignas(A) _Thread_local long a;
dontubsan void *Worker(void *arg) {
ASSERT_EQ(A, _Alignof(a));
ASSERT_EQ(0, (uintptr_t)&a & (_Alignof(a) - 1));
ASSERT_EQ(42, x + y[0] + z);
ASSERT_EQ(0, (intptr_t)&a & (A - 1));
if (IsAsan()) {
@ -41,6 +43,7 @@ dontubsan void *Worker(void *arg) {
TEST(tls, test) {
ASSERT_EQ(A, _Alignof(a));
ASSERT_EQ(0, (uintptr_t)&a & (_Alignof(a) - 1));
ASSERT_EQ(0, sizeof(struct CosmoTib) % A);
ASSERT_EQ(0, (intptr_t)__get_tls() & (A - 1));
EXPECT_EQ(2, z);

View file

@ -21,7 +21,6 @@
#include "libc/errno.h"
#include "libc/limits.h"
#include "libc/mem/gc.h"
#include "libc/mem/gc.h"
#include "libc/mem/mem.h"
#include "libc/runtime/runtime.h"
#include "libc/runtime/zipos.internal.h"