diff options
Diffstat (limited to 'www/ladybird/files')
3 files changed, 57 insertions, 10 deletions
diff --git a/www/ladybird/files/patch-Meta_Lagom_CMakeLists.txt b/www/ladybird/files/patch-Meta_Lagom_CMakeLists.txt deleted file mode 100644 index 14228ffaa662..000000000000 --- a/www/ladybird/files/patch-Meta_Lagom_CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- Meta/Lagom/CMakeLists.txt.orig 2024-02-26 22:01:50 UTC -+++ Meta/Lagom/CMakeLists.txt -@@ -350,6 +350,7 @@ lagom_lib(AK ak SOURCES ${AK_SOURCES}) - # AK - add_serenity_subdirectory(AK) - lagom_lib(AK ak SOURCES ${AK_SOURCES}) -+target_link_libraries(AK PRIVATE execinfo) - - # LibCore - add_serenity_subdirectory(Userland/Libraries/LibCore) diff --git a/www/ladybird/files/patch-Userland_Libraries_LibCore_Environment.cpp b/www/ladybird/files/patch-Userland_Libraries_LibCore_Environment.cpp new file mode 100644 index 000000000000..b1582a11e36a --- /dev/null +++ b/www/ladybird/files/patch-Userland_Libraries_LibCore_Environment.cpp @@ -0,0 +1,34 @@ +--- Userland/Libraries/LibCore/Environment.cpp.orig 2024-05-05 05:45:42 UTC ++++ Userland/Libraries/LibCore/Environment.cpp +@@ -13,7 +13,7 @@ + #if defined(AK_OS_MACOS) || defined(AK_OS_IOS) + # include <crt_externs.h> + #else +-extern char** environ; ++extern "C" char** environ; + #endif + + namespace Core::Environment { +@@ -93,7 +93,7 @@ Optional<StringView> get(StringView name, [[maybe_unus + builder.append('\0'); + // Note the explicit null terminators above. + +-#if defined(AK_OS_MACOS) || defined(AK_OS_ANDROID) ++#if defined(AK_OS_MACOS) || defined(AK_OS_ANDROID) || defined(__FreeBSD__) && __FreeBSD__ < 14 + char* result = ::getenv(builder.string_view().characters_without_null_termination()); + #else + char* result; +@@ -158,10 +158,12 @@ ErrorOr<void> clear() + for (size_t environ_size = 0; environment[environ_size]; ++environ_size) { + environment[environ_size] = NULL; + } +-#else ++#elif __FreeBSD__ >= 14 + auto rc = ::clearenv(); + if (rc < 0) + return Error::from_errno(errno); ++#else ++ environ = NULL; + #endif + return {}; + } diff --git a/www/ladybird/files/patch-Userland_Libraries_LibJS_Heap_BlockAllocator.cpp b/www/ladybird/files/patch-Userland_Libraries_LibJS_Heap_BlockAllocator.cpp new file mode 100644 index 000000000000..90fbf0f8152c --- /dev/null +++ b/www/ladybird/files/patch-Userland_Libraries_LibJS_Heap_BlockAllocator.cpp @@ -0,0 +1,23 @@ +mmap() with MAP_ANONYMOUS requires that -1 be passed for the fd argument. +See https://github.com/SerenityOS/serenity/issues/23375. + +--- Userland/Libraries/LibJS/Heap/BlockAllocator.cpp.orig 2024-05-05 13:48:53 UTC ++++ Userland/Libraries/LibJS/Heap/BlockAllocator.cpp +@@ -57,7 +57,7 @@ void* BlockAllocator::allocate_block([[maybe_unused]] + #ifdef AK_OS_SERENITY + auto* block = (HeapBlock*)serenity_mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_RANDOMIZED | MAP_PRIVATE, 0, 0, HeapBlock::block_size, name); + #else +- auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); ++ auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + #endif + VERIFY(block != MAP_FAILED); + LSAN_REGISTER_ROOT_REGION(block, HeapBlock::block_size); +@@ -74,7 +74,7 @@ void BlockAllocator::deallocate_block(void* block) + perror("munmap"); + VERIFY_NOT_REACHED(); + } +- if (mmap(block, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, 0, 0) != block) { ++ if (mmap(block, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0) != block) { + perror("mmap"); + VERIFY_NOT_REACHED(); + } |