diff --git a/Libraries/LibJS/CMakeLists.txt b/Libraries/LibJS/CMakeLists.txt index fa662b37338..11ff2360236 100644 --- a/Libraries/LibJS/CMakeLists.txt +++ b/Libraries/LibJS/CMakeLists.txt @@ -275,8 +275,14 @@ if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86.*") target_link_libraries(LibJS PRIVATE atomic) endif() -# This flag has no effect on Windows -if (NOT WIN32) +if (WIN32) + # FIXME: Windows on ARM + target_link_libraries(LibJS PRIVATE clang_rt.builtins-x86_64.lib) + # FIXME: This is a hack to get around lld-link error undefined symbol GC::HeapBlockBase::block_size + # LibGC HeapBlock.obj is given directly to LibJS linker + target_link_libraries(LibJS PRIVATE $,INCLUDE,HeapBlock>) +else() + # This flag has no effect on Windows target_compile_options(LibJS PRIVATE -fno-omit-frame-pointer) endif() diff --git a/Libraries/LibJS/Contrib/Test262/AgentObject.cpp b/Libraries/LibJS/Contrib/Test262/AgentObject.cpp index 57fd43c16ac..3f34714b072 100644 --- a/Libraries/LibJS/Contrib/Test262/AgentObject.cpp +++ b/Libraries/LibJS/Contrib/Test262/AgentObject.cpp @@ -5,10 +5,10 @@ */ #include +#include #include #include #include -#include namespace JS::Test262 { @@ -41,7 +41,7 @@ JS_DEFINE_NATIVE_FUNCTION(AgentObject::monotonic_now) JS_DEFINE_NATIVE_FUNCTION(AgentObject::sleep) { auto milliseconds = TRY(vm.argument(0).to_i32(vm)); - ::usleep(milliseconds * 1000); + (void)Core::System::sleep_ms(milliseconds); return js_undefined(); }