aboutsummaryrefslogtreecommitdiff
path: root/www/ladybird/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/ladybird/files')
-rw-r--r--www/ladybird/files/patch-Meta_Lagom_CMakeLists.txt10
-rw-r--r--www/ladybird/files/patch-Userland_Libraries_LibCore_Environment.cpp34
-rw-r--r--www/ladybird/files/patch-Userland_Libraries_LibJS_Heap_BlockAllocator.cpp23
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();
+ }