about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--src/library_list_static.h4
-rw-r--r--src/wrapped/wrappedlibc.c29
-rw-r--r--src/wrapped/wrappedlibc_private.h2
4 files changed, 34 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5708a7b7..d70d8acd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -412,7 +412,7 @@ set(INTERPRETER
 if(STATICBUILD)
 set(WRAPPEDS
     "${BOX64_ROOT}/src/wrapped/wrappedldlinux.c"
-    "${BOX64_ROOT}/src/wrapped/wrappedlibbsd.c"
+    #"${BOX64_ROOT}/src/wrapped/wrappedlibbsd.c"
     "${BOX64_ROOT}/src/wrapped/wrappedlibc.c"
     "${BOX64_ROOT}/src/wrapped/wrappedlibcmusl.c"
     "${BOX64_ROOT}/src/wrapped/wrappedlibdl.c"
@@ -922,7 +922,7 @@ add_dependencies(${BOX64} WRAPPERS)
 #target_link_libraries(${BOX64} c m dl rt pthread resolv)
 if(STATICBUILD)
     #set_target_properties(${BOX64} PROPERTIES LINK_FLAGS "-fuse-ld=gold -static -Wl,--no-relax -Wl,--allow-multiple-definition -ldl -lrt -lpthread -lresolv -lc -lutil -lm -Wl,-defsym,_DYNAMIC=0 -pthread")
-    target_link_libraries(${BOX64} c m dl pthread resolv util bsd c)
+    target_link_libraries(${BOX64} c m dl pthread resolv util c)
 else()
     if(ANDROID)
         if(TERMUX)
diff --git a/src/library_list_static.h b/src/library_list_static.h
index dfb21112..85f46071 100644
--- a/src/library_list_static.h
+++ b/src/library_list_static.h
@@ -6,7 +6,7 @@ GO("libc.musl-x86_64.so.1", libcmusl)
 #ifdef ANDROID
 GO("libpthread.so", libpthread)
 GO("librt.so", librt)
-GO("libbsd.so", libbsd)
+//GO("libbsd.so", libbsd)
 GO("libc.so", libc)
 GO("libm.so", libm)
 GO("libdl.so", libdl)
@@ -14,7 +14,7 @@ GO("libresolv.so", libresolv)
 #else
 GO("libpthread.so.0", libpthread)
 GO("librt.so.1", librt)
-GO("libbsd.so.0", libbsd)
+//GO("libbsd.so.0", libbsd)
 GO("libc.so.6", libc)
 GO("libm.so.6", libm)
 GO("libdl.so.2", libdl)
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index b27e931b..896dd126 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -3685,7 +3685,17 @@ EXPORT char my___libc_single_threaded = 0;
     else
 #endif
 
-#ifdef ANDROID
+#if defined(ANDROID)
+#ifdef STATICBUILD
+#define NEEDED_LIBS_DEF   3,\
+    "libpthread.so",        \
+    "libdl.so" ,            \
+    "libm.so"
+#define NEEDED_LIBS_234 3,  \
+    "libpthread.so",        \
+    "libdl.so" ,            \
+    "libm.so"
+#else
 #define NEEDED_LIBS_DEF   4,\
     "libpthread.so",        \
     "libdl.so" ,            \
@@ -3696,6 +3706,22 @@ EXPORT char my___libc_single_threaded = 0;
     "libdl.so" ,            \
     "libm.so",              \
     "libbsd.so"
+#endif
+#else
+#ifdef STATICBUILD
+#define NEEDED_LIBS_DEF   5,\
+    "ld-linux-x86-64.so.2", \
+    "libpthread.so.0",      \
+    "libdl.so.2",           \
+    "libutil.so.1",         \
+    "librt.so.1"
+#define NEEDED_LIBS_234 6,  \
+    "ld-linux-x86-64.so.2", \
+    "libpthread.so.0",      \
+    "libdl.so.2",           \
+    "libutil.so.1",         \
+    "libresolv.so.2",       \
+    "librt.so.1"
 #else
 #define NEEDED_LIBS_DEF   6,\
     "ld-linux-x86-64.so.2", \
@@ -3713,6 +3739,7 @@ EXPORT char my___libc_single_threaded = 0;
     "librt.so.1",           \
     "libbsd.so.0"
 #endif
+#endif
 
 #undef HAS_MY
 
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index fb4c2b8f..3f1d2e14 100644
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -2459,8 +2459,10 @@ GO(__errno, pFv)
 #ifdef STATICBUILD
 GO(dummy_pFLp, pFLp)
 GO(dummy_pFpLLp, pFpLLp)
+GO(arc4random, uFv)
 #else
 // not needed in no-static build
 //GO(dummy_pFLp, pFLp)
 //GO(dummy_pFpLLp, pFpLLp)
+//GO(arc4random, uFv)
 #endif