about summary refs log tree commit diff stats
path: root/src/elfs
diff options
context:
space:
mode:
authorptitSeb <seebastien.chev@gmail.com>2023-09-02 11:56:20 +0200
committerptitSeb <seebastien.chev@gmail.com>2023-09-02 11:56:20 +0200
commit2d37575f3d56931a9d20217fd508147f6601796b (patch)
tree78da0acc44e8d95917402e0ea0abc97304481e73 /src/elfs
parenteb1e607b935a1c90c0c9cf0b352d95423e42740d (diff)
downloadbox64-2d37575f3d56931a9d20217fd508147f6601796b.tar.gz
box64-2d37575f3d56931a9d20217fd508147f6601796b.zip
[ANDROID] Try to create an Android build, porting box86 Android build
Diffstat (limited to 'src/elfs')
-rw-r--r--src/elfs/elfloader.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c
index 1f6f6c65..6b28ea10 100644
--- a/src/elfs/elfloader.c
+++ b/src/elfs/elfloader.c
@@ -1391,6 +1391,10 @@ void RunElfFini(elfheader_t* h, x64emu_t *emu)
     if(!h || h->fini_done || !h->init_done)
         return;
     h->fini_done = 1;
+#ifdef ANDROID
+    // TODO: Fix .fini_array on Android
+    printf_log(LOG_DEBUG, "Android does not support Fini for %s\n", ElfName(h));
+#else
     // first check fini array
     Elf64_Addr *addr = (Elf64_Addr*)(h->finiarray + h->delta);
     for (int i=h->finiarray_sz-1; i>=0; --i) {
@@ -1405,6 +1409,7 @@ void RunElfFini(elfheader_t* h, x64emu_t *emu)
     }
     h->init_done = 0;   // can be re-inited again...
     return;
+#endif
 }
 
 uintptr_t GetElfInit(elfheader_t* h)