ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.73k stars 267 forks source link

[BOX32] [ANDROID] One More Fix for Android Build That I forgotten to … #1752

Closed KreitinnSoftware closed 1 month ago

KreitinnSoftware commented 1 month ago

…push before

ptitSeb commented 1 month ago

does it work now on simple tests?

ptitSeb commented 1 month ago

(also, I might have fixed the old test with printf that was not working on Android on this branch)

KreitinnSoftware commented 1 month ago

does it work now on simple tests?

I will test

KreitinnSoftware commented 1 month ago

does it work now on simple tests?

Same...

[pablo@archlinux b]$ BOX64_LOG=2 ./box64 ../tests32/test01_android 
Debug level is 2
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT RNDR PageSize:4096 Running on Unknown CPU with 4 Cores
Will use Hardware counter measured at 62.5 MHz emulating 2.0 GHz
Box64 with Dynarec v0.3.1 38e12b41 built on Aug 24 2024 16:47:30
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Setting up canary (for Stack protector) at FS:0x28, value:91314800
Warning, older then 2.34 pthread_kill not found, using current one
Counted 48 Env var
 Env[00]: SHELL=/usr/bin/bash
 Env[01]: SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/527,unix/archlinux:/tmp/.ICE-unix/527
 Env[02]: WINDOWID=94371843
 Env[03]: COLORTERM=truecolor
 Env[04]: XDG_CONFIG_DIRS=/etc/xdg
 Env[05]: XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
 Env[06]: XDG_MENU_PREFIX=xfce-
 Env[07]: SSH_AUTH_SOCK=/tmp/ssh-XXXXXXp2bXST/agent.570
 Env[08]: XDG_CONFIG_HOME=/home/pablo/.config
 Env[09]: DESKTOP_SESSION=xfce
 Env[10]: SSH_AGENT_PID=574
 Env[11]: GTK_MODULES=canberra-gtk-module:canberra-gtk-module
 Env[12]: XDG_SEAT=seat0
 Env[13]: PWD=/home/pablo/box64/b
 Env[14]: LOGNAME=pablo
 Env[15]: XDG_SESSION_DESKTOP=XFCE
 Env[16]: XDG_SESSION_TYPE=x11
 Env[17]: PANEL_GDK_CORE_DEVICE_EVENTS=0
 Env[18]: CXX=/home/pablo/MiceWine-RootFS-Generator/cache/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android32-clang++
 Env[19]: XAUTHORITY=/tmp/xauth_DdIYYL
 Env[20]: MOTD_SHOWN=pam
 Env[21]: HOME=/home/pablo
 Env[22]: LANG=pt_BR.UTF-8
 Env[23]: XDG_CURRENT_DESKTOP=XFCE
 Env[24]: VTE_VERSION=7604
 Env[25]: XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
 Env[26]: XDG_CACHE_HOME=/home/pablo/.cache
 Env[27]: XDG_ACTIVATION_TOKEN=wrapper-2.0-623-archlinux-xfce4-terminal-0_TIME405347
 Env[28]: XDG_SESSION_CLASS=user
 Env[29]: TERM=xterm-256color
 Env[30]: USER=pablo
 Env[31]: DISPLAY=:0.0
 Env[32]: SHLVL=1
 Env[33]: XDG_VTNR=2
 Env[34]: XDG_SESSION_ID=2
 Env[35]: XDG_RUNTIME_DIR=/run/user/1000
 Env[36]: DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
 Env[37]: XDG_DATA_DIRS=/home/pablo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
 Env[38]: PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/home/pablo/.local/share/flatpak/exports/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
 Env[39]: CC=/home/pablo/MiceWine-RootFS-Generator/cache/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android32-clang
 Env[40]: DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
 Env[41]: MAIL=/var/spool/mail/pablo
 Env[42]: GIO_LAUNCHED_DESKTOP_FILE_PID=3138
 Env[43]: GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/xfce4-terminal.desktop
 Env[44]: OLDPWD=/home/pablo/box64
 Env[45]: BOX64_PATH=.:bin
 Env[46]: BOX64_LD_LIBRARY_PATH=.:lib:lib64:x86_64:bin64:libs64:i386:libs:bin
 Env[47]: _=/home/pablo/box64/b/box64
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/home/pablo/.local/share/flatpak/exports/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/
Looking for ../tests32/test01_android
BOX64: Using Box32 to load 32bits elf
Memory higher than 32bits reserved
Read 26 Section header
Read 11 Program header
Loading Sections Table String (idx = 24)
Loading SymTab Strings (idx = 25)
Loading SymTab (idx = 23)
Loading Dynamic (idx = 18)
The DT_GNU_HASH is at address 0x2a8
The DT_INIT_ARRAY is at address 0x2618
The DT_INIT_ARRAYSZ is 2
The DT_FINI_ARRAY is at address 0x2620
The DT_FINI_ARRAYSZ is 2
The DT_VERNEED is at address 0x288
The DT_VERNEEDNUM is 1
Rel Table @0x304 (0x20/0x8)
PLT Table @0x324 (type=17 0x18/0x8)
The GOT.PLT Table is at address 0x2718
The GOT Table is at address 0x2708..0x2718
The PLT Table is at address 0x15d0..0x1610
The .gnu.version is at address 0x280
The .text is at address 0x1480, and is 328 big
Loading DynSym Strings (idx = 7)
Loading DynSym (idx = 3)
Adding "/home/pablo/box64/tests32/test01_android" as #0 in elf collection
Elf Addr(v/p)=0x0/0x0 Memsize=0x3734 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Pre-allocated 0x3734 byte at 0x40000000 for /home/pablo/box64/tests32/test01_android
Delta of 0x40000000 (vaddr=0x0) for Elf "/home/pablo/box64/tests32/test01_android"
Mmaping 0x47c(0x1000) bytes @0x40000000 for Elf "/home/pablo/box64/tests32/test01_android"
Allocating 0x1000 (0x190) bytes @0x40001000, will read 0x190 @0x40001480 for Elf "/home/pablo/box64/tests32/test01_android"
Allocating 0x1000 (0x120) bytes @0x40002000, will read 0x120 @0x40002610 for Elf "/home/pablo/box64/tests32/test01_android"
Allocating 0x1000 (0x4) bytes @0x40003000, will read 0x0 @0x40003730 for Elf "/home/pablo/box64/tests32/test01_android"
Rename process to "test01_android"
Calc stack size, based on 1 elf(s)
Stack is @0xff800000 size=0x800000 align=0x10
Allocate a new X86_64 Emu, with EIP=0x0 and Stack=0xff800000/0x800000
Setup X86_64 Emu
Trying to add "libdl.so" to maplib
Trying to load "libdl.so"
Simplified name is "libdl.so"
Faillure to create lib => fail
Error loading needed lib libdl.so
Trying to add "libc.so" to maplib
Trying to load "libc.so"
Simplified name is "libc.so"
Faillure to create lib => fail
Error loading needed lib libc.so
Error loading one of needed lib
Error: Loading needed libs in elf /home/pablo/box64/b/./../tests32/test01_android
860855|Free a X86_64 Emu (0x774deee60000)
ptitSeb commented 1 month ago

Oh, that's because libdl is not wrapped yet. You need to remove it from the neededlibs from libc.c

KreitinnSoftware commented 1 month ago

Oh, that's because libdl is not wrapped yet. You need to remove it from the neededlibs from libc.c

Ok

KreitinnSoftware commented 1 month ago

Oh, that's because libdl is not wrapped yet. You need to remove it from the neededlibs from libc.c

Even if removed for some reason box64 tries to use libdl.so

ptitSeb commented 1 month ago

Oh, that's because libdl is not wrapped yet. You need to remove it from the neededlibs from libc.c

Even if removed for some reason box64 tries to use libdl.so

from the wrapped32 one?

KreitinnSoftware commented 1 month ago

Oh, that's because libdl is not wrapped yet. You need to remove it from the neededlibs from libc.c

Even if removed for some reason box64 tries to use libdl.so

from the wrapped32 one?

Yes