From 8ba65a4f0bbd38b5c6a677d93d1fa13d0042bb35 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 25 Feb 2023 18:21:44 -0800 Subject: Fixes #2194 (most likely) --- src/boringssl.zig | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/boringssl.zig b/src/boringssl.zig index a6e767428..de5277a98 100644 --- a/src/boringssl.zig +++ b/src/boringssl.zig @@ -15,11 +15,8 @@ pub fn load() void { boring.OpenSSL_add_all_algorithms(); if (!builtin.is_test) { - comptime { - @export(bun.Mimalloc.mi_malloc, .{ .name = "OPENSSL_memory_alloc", .linkage = .Strong }); - @export(bun.Mimalloc.mi_usable_size, .{ .name = "OPENSSL_memory_get_size", .linkage = .Strong }); - } - + std.mem.doNotOptimizeAway(&OPENSSL_memory_alloc); + std.mem.doNotOptimizeAway(&OPENSSL_memory_get_size); std.mem.doNotOptimizeAway(&OPENSSL_memory_free); } } @@ -62,9 +59,9 @@ pub fn initClient() *boring.SSL { // into the process, including pthreads locks. Failing to meet these constraints // may result in deadlocks, crashes, or memory corruption. -// export fn OPENSSL_memory_alloc(size: usize) ?*anyopaque { -// return -// } +export fn OPENSSL_memory_alloc(size: usize) ?*anyopaque { + return bun.Mimalloc.mi_malloc(size); +} // BoringSSL always expects memory to be zero'd export fn OPENSSL_memory_free(ptr: *anyopaque) void { @@ -72,9 +69,9 @@ export fn OPENSSL_memory_free(ptr: *anyopaque) void { bun.Mimalloc.mi_free(ptr); } -// export fn OPENSSL_memory_get_size(ptr: ?*const anyopaque) usize { -// return bun.Mimalloc.mi_usable_size(ptr); -// } +export fn OPENSSL_memory_get_size(ptr: ?*const anyopaque) usize { + return bun.Mimalloc.mi_usable_size(ptr); +} test "load" { load(); -- cgit v1.2.3