diff options
Diffstat (limited to 'src/wrapped/wrappedlibcmusl.c')
| -rw-r--r-- | src/wrapped/wrappedlibcmusl.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/wrapped/wrappedlibcmusl.c b/src/wrapped/wrappedlibcmusl.c new file mode 100644 index 00000000..787561e5 --- /dev/null +++ b/src/wrapped/wrappedlibcmusl.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "elfloader.h" +#include "box64context.h" +#include "x64tls.h" + + +// don't try to load the actual ld-linux (because name is variable), just use box64 itself, as it's linked to ld-linux +const char* libcmuslName = "libc.musl-x86_64.so.1"; +#define LIBNAME libcmusl + +#define PRE_INIT\ + if(1) \ + lib->w.lib = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL); \ + else + +#define CUSTOM_INIT \ + box64_musl = 1; \ + setNeededLibs(lib, 5, "libtbbmalloc.so.2", "libtbbmalloc_proxy.so.2", "libtbbbind_2_5.so", "libc.so.6", "libdl.so.2"); + +// define all standard library functions +#include "wrappedlib_init.h" + |