diff options
| author | ptitSeb <seebastien.chev@gmail.com> | 2023-09-02 11:56:20 +0200 |
|---|---|---|
| committer | ptitSeb <seebastien.chev@gmail.com> | 2023-09-02 11:56:20 +0200 |
| commit | 2d37575f3d56931a9d20217fd508147f6601796b (patch) | |
| tree | 78da0acc44e8d95917402e0ea0abc97304481e73 /src/libtools | |
| parent | eb1e607b935a1c90c0c9cf0b352d95423e42740d (diff) | |
| download | box64-2d37575f3d56931a9d20217fd508147f6601796b.tar.gz box64-2d37575f3d56931a9d20217fd508147f6601796b.zip | |
[ANDROID] Try to create an Android build, porting box86 Android build
Diffstat (limited to 'src/libtools')
| -rw-r--r-- | src/libtools/signals.c | 4 | ||||
| -rw-r--r-- | src/libtools/threads.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index b20c04f3..43d8f58c 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -13,7 +13,9 @@ #include <setjmp.h> #include <sys/mman.h> #include <pthread.h> +#ifndef ANDROID #include <execinfo.h> +#endif #include "box64context.h" #include "debug.h" @@ -1206,6 +1208,7 @@ exit(-1); } } print_cycle_log(log_minimum); +#ifndef ANDROID if((box64_showbt || sig==SIGABRT) && log_minimum<=box64_log) { // show native bt #define BT_BUF_SIZE 100 @@ -1274,6 +1277,7 @@ exit(-1); GO(RIP); #undef GO } +#endif if(log_minimum<=box64_log) { static const char* reg_name[] = {"RAX", "RCX", "RDX", "RBX", "RSP", "RBP", "RSI", "RDI", " R8", " R9","R10","R11", "R12","R13","R14","R15"}; static const char* seg_name[] = {"ES", "CS", "SS", "DS", "FS", "GS"}; diff --git a/src/libtools/threads.c b/src/libtools/threads.c index 90c665e2..229102c4 100644 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -75,7 +75,9 @@ typedef struct x64_unwind_buff_s { typedef void(*vFv_t)(); KHASH_MAP_INIT_INT64(threadstack, threadstack_t*) +#ifndef ANDROID KHASH_MAP_INIT_INT64(cancelthread, __pthread_unwind_buf_t*) +#endif void CleanStackSize(box64context_t* context) { @@ -142,6 +144,8 @@ static void FreeCancelThread(box64context_t* context) if(!context) return; } + +#ifndef ANDROID static __pthread_unwind_buf_t* AddCancelThread(x64_unwind_buff_t* buff) { __pthread_unwind_buf_t* r = (__pthread_unwind_buf_t*)box_calloc(1, sizeof(__pthread_unwind_buf_t)); @@ -160,6 +164,7 @@ static void DelCancelThread(x64_unwind_buff_t* buff) box_free(r); buff->__pad[3] = NULL; } +#endif typedef struct emuthread_s { uintptr_t fnc; @@ -526,6 +531,7 @@ void* my_prepare_thread(x64emu_t *emu, void* f, void* arg, int ssize, void** pet void my_longjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/void *p, int32_t __val); +#ifndef ANDROID #define CANCEL_MAX 8 static __thread x64emu_t* cancel_emu[CANCEL_MAX] = {0}; static __thread x64_unwind_buff_t* cancel_buff[CANCEL_MAX] = {0}; @@ -578,6 +584,7 @@ EXPORT void my___pthread_unwind_next(x64emu_t* emu, x64_unwind_buff_t* buff) // just in case it does return emu->quit = 1; } +#endif KHASH_MAP_INIT_INT(once, int) @@ -724,6 +731,7 @@ EXPORT int my_pthread_cond_clockwait(x64emu_t *emu, pthread_cond_t* cond, void* return ret; } +#ifndef ANDROID EXPORT void my__pthread_cleanup_push_defer(x64emu_t* emu, void* buffer, void* routine, void* arg) { (void)emu; @@ -769,6 +777,7 @@ EXPORT int my_pthread_setaffinity_np(x64emu_t* emu, pthread_t thread, size_t cpu return ret; } +#endif //EXPORT int my_pthread_attr_setaffinity_np(x64emu_t* emu, void* attr, uint32_t cpusetsize, void* cpuset) //{ |