aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine/files/musl/0004-musl-dispatch-to-musl.patch')
-rw-r--r--dev-qt/qtwebengine/files/musl/0004-musl-dispatch-to-musl.patch103
1 files changed, 0 insertions, 103 deletions
diff --git a/dev-qt/qtwebengine/files/musl/0004-musl-dispatch-to-musl.patch b/dev-qt/qtwebengine/files/musl/0004-musl-dispatch-to-musl.patch
deleted file mode 100644
index de32a3da..00000000
--- a/dev-qt/qtwebengine/files/musl/0004-musl-dispatch-to-musl.patch
+++ /dev/null
@@ -1,103 +0,0 @@
---- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
---- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
-@@ -6,6 +6,7 @@
-
- #include <malloc.h>
-
-+#if defined(__GLIBC__)
- // This translation unit defines a default dispatch for the allocator shim which
- // routes allocations to libc functions.
- // The code here is strongly inspired from tcmalloc's libc_override_glibc.h.
-@@ -73,3 +74,92 @@ const AllocatorDispatch AllocatorDispatch::default_dispatch = {
- nullptr, /* free_definite_size_function */
- nullptr, /* next */
- };
-+
-+#else // defined(__GLIBC__)
-+
-+#include <dlfcn.h>
-+
-+extern "C" {
-+// Declare function pointers to the memory functions
-+typedef void* (*t_libc_malloc)(size_t size);
-+typedef void* (*t_libc_calloc)(size_t n, size_t size);
-+typedef void* (*t_libc_realloc)(void* address, size_t size);
-+typedef void* (*t_libc_memalign)(size_t alignment, size_t size);
-+typedef void (*t_libc_free)(void* ptr);
-+typedef size_t (*t_libc_malloc_usable_size)(void* ptr);
-+
-+// Static instances of pointers to libc.so dl symbols
-+static t_libc_malloc libc_malloc = NULL;
-+static t_libc_calloc libc_calloc = NULL;
-+static t_libc_realloc libc_realloc = NULL;
-+static t_libc_memalign libc_memalign = NULL;
-+static t_libc_free libc_free = NULL;
-+static t_libc_malloc_usable_size libc_malloc_usable_size = NULL;
-+
-+// resolve the symbols in libc.so
-+void musl_libc_memory_init(void)
-+{
-+ libc_malloc = (t_libc_malloc) dlsym(RTLD_NEXT, "malloc");
-+ libc_calloc = (t_libc_calloc) dlsym(RTLD_NEXT, "calloc");
-+ libc_realloc = (t_libc_realloc) dlsym(RTLD_NEXT, "realloc");
-+ libc_memalign = (t_libc_memalign) dlsym(RTLD_NEXT, "memalign");
-+ libc_free = (t_libc_free) dlsym(RTLD_NEXT, "free");
-+ libc_malloc_usable_size = (t_libc_malloc_usable_size) dlsym(RTLD_NEXT, "malloc_usable_size");
-+}
-+} // extern "C"
-+
-+namespace {
-+
-+using base::allocator::AllocatorDispatch;
-+
-+void* MuslMalloc(const AllocatorDispatch*, size_t size, void* context) {
-+ if (!libc_malloc)
-+ musl_libc_memory_init();
-+ return (*libc_malloc)(size);
-+}
-+
-+void* MuslCalloc(const AllocatorDispatch*, size_t n, size_t size, void* context) {
-+ if (!libc_calloc)
-+ musl_libc_memory_init();
-+ return (*libc_calloc)(n, size);
-+}
-+
-+void* MuslRealloc(const AllocatorDispatch*, void* address, size_t size, void* context) {
-+ if (!libc_realloc)
-+ musl_libc_memory_init();
-+ return (*libc_realloc)(address, size);
-+}
-+
-+void* MuslMemalign(const AllocatorDispatch*, size_t alignment, size_t size, void* context) {
-+ if (!libc_memalign)
-+ musl_libc_memory_init();
-+ return (*libc_memalign)(alignment, size);
-+}
-+
-+void MuslFree(const AllocatorDispatch*, void* address, void* context) {
-+ if (!libc_free)
-+ musl_libc_memory_init();
-+ (*libc_free)(address);
-+}
-+
-+size_t MuslGetSizeEstimate(const AllocatorDispatch*, void* address, void* context) {
-+ // TODO(siggi, primiano): malloc_usable_size may need redirection in the
-+ // presence of interposing shims that divert allocations.
-+ if (!libc_malloc_usable_size)
-+ musl_libc_memory_init();
-+ return (*libc_malloc_usable_size)(address);
-+}
-+
-+} // namespace
-+
-+const AllocatorDispatch AllocatorDispatch::default_dispatch = {
-+ &MuslMalloc, /* alloc_function */
-+ &MuslCalloc, /* alloc_zero_initialized_function */
-+ &MuslMemalign, /* alloc_aligned_function */
-+ &MuslRealloc, /* realloc_function */
-+ &MuslFree, /* free_function */
-+ &MuslGetSizeEstimate, /* get_size_estimate_function */
-+ nullptr, /* next */
-+};
-+
-+#endif