mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 00:02:28 +00:00
Port a lot more code to AARCH64
- Introduce epoll_pwait() - Rewrite -ftrapv and ffs() libraries in C code - Use more FreeBSD code in math function library - Get significantly more tests passing on qemu-aarch64 - Fix many Musl long double functions that were broken on AARCH64
This commit is contained in:
parent
91791e9f38
commit
550b52abf6
158 changed files with 6018 additions and 3499 deletions
|
@ -173,7 +173,7 @@ TEST(fwrite, signalStorm) {
|
|||
if (!pid) {
|
||||
do {
|
||||
ASSERT_NE(-1, kill(getppid(), SIGINT));
|
||||
usleep(1);
|
||||
usleep(25);
|
||||
} while (!gotsigint);
|
||||
_exit(0);
|
||||
}
|
||||
|
|
|
@ -32,7 +32,8 @@
|
|||
#include "libc/sysv/consts/sig.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/thread/thread.h"
|
||||
|
||||
#ifndef __aarch64__
|
||||
// TODO(jart): Make this test less resource intensive.
|
||||
// TODO(jart): Why can EINTR happen on Windows?
|
||||
|
||||
atomic_int done;
|
||||
|
@ -96,3 +97,5 @@ TEST(getentropy, test) {
|
|||
ASSERT_EQ(0, pthread_join(child, 0));
|
||||
if (!IsWindows()) ASSERT_GT(gotsome, 0);
|
||||
}
|
||||
|
||||
#endif /* __aarch64__ */
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
#include "libc/testlib/hyperion.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/thread/thread.h"
|
||||
#ifndef __aarch64__
|
||||
// TODO(jart): Make this test less CPU intensive.
|
||||
|
||||
atomic_int done;
|
||||
atomic_int ready;
|
||||
|
@ -340,3 +342,5 @@ TEST(getrandom, sanityTest) {
|
|||
TEST(getrandom, badflags_einval) {
|
||||
ASSERT_SYS(EINVAL, -1, getrandom(0, 0, -1));
|
||||
}
|
||||
|
||||
#endif /* __aarch64__ */
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include "libc/sysv/consts/sig.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/thread/thread.h"
|
||||
#ifdef __x86_64__
|
||||
|
||||
FILE *f;
|
||||
char buf[32];
|
||||
|
@ -162,3 +163,5 @@ TEST(popen, torture) {
|
|||
for (i = 0; i < n; ++i) ASSERT_EQ(0, pthread_join(t[i], 0));
|
||||
CheckForFdLeaks();
|
||||
}
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/stdio/posix_spawn.h"
|
||||
#include "libc/atomic.h"
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/state.internal.h"
|
||||
|
@ -28,7 +29,6 @@
|
|||
#include "libc/mem/mem.h"
|
||||
#include "libc/runtime/internal.h"
|
||||
#include "libc/runtime/runtime.h"
|
||||
#include "libc/stdio/posix_spawn.h"
|
||||
#include "libc/stdio/stdio.h"
|
||||
#include "libc/sysv/consts/auxv.h"
|
||||
#include "libc/sysv/consts/o.h"
|
||||
|
@ -36,6 +36,7 @@
|
|||
#include "libc/testlib/ezbench.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/thread/thread.h"
|
||||
#ifdef __x86_64__
|
||||
|
||||
char testlib_enable_tmp_setup_teardown;
|
||||
|
||||
|
@ -193,3 +194,5 @@ const char kTinyLinuxExit[128] = {
|
|||
/* unlink("/tmp/tiny64"); */
|
||||
/* } */
|
||||
/* } */
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "libc/testlib/ezbench.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/x/x.h"
|
||||
#ifdef __x86_64__
|
||||
|
||||
STATIC_YOINK("glob");
|
||||
|
||||
|
@ -212,3 +213,5 @@ TEST(system, glob) {
|
|||
ASSERT_EQ(0, WEXITSTATUS(system("./ec*.com aaa")));
|
||||
ASSERT_EQ(0, WEXITSTATUS(system("./ec?o.com aaa")));
|
||||
}
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
|
|
@ -76,6 +76,8 @@ TEST(tmpfile, test) {
|
|||
EXPECT_TRUE(IsDirectoryEmpty(kTmpPath));
|
||||
}
|
||||
|
||||
#ifndef __aarch64__
|
||||
// TODO(jart): Find way to detect qemu-aarch64
|
||||
TEST(tmpfile, renameToRealFile) {
|
||||
if (!IsLinux() || !__is_linux_2_6_23()) return;
|
||||
FILE *f;
|
||||
|
@ -90,3 +92,4 @@ TEST(tmpfile, renameToRealFile) {
|
|||
ASSERT_EQ('i', fgetc(f));
|
||||
ASSERT_EQ(0, fclose(f));
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue