xperia64 / android-mkxp

A port of MKXP and its dependencies to Android
18 stars 22 forks source link

Bad compilation for AArch64 #8

Closed pulsejet closed 7 years ago

pulsejet commented 7 years ago

Since armv8 doesn't support __builtin_setjmp, I had to get rid if it and also change a couple of things in ruby, but after doing this, while armv7 still compiles and runs fine, the compiled armv8 binary crashes on start due to some fluidsynth error (in logcat). On removing fluidsynth, it crashes due to some OpenAL error whenever the first sound is played.

I'm compiling on Windows (no cygwin)

pulsejet commented 7 years ago

Here is my logcat: https://drive.google.com/open?id=0Bxvz3wbxE2UXRmFONDlta0dYSTg

xperia64 commented 7 years ago

I have fixed these issues by adding 32 vs 64 bit detection macros and adjusted type sizes accordingly. I'm going off the assumption that all 64 bit systems share sizes and all 32 bit systems share sizes. I am also closing your pull request because I have fixed the compilation issues without commenting things out.

Games now load with working sound under the 64 bit x86_64 android emulator at least. I will commit my changes soon.

xperia64 commented 7 years ago

Fixed with 94cf1f522e88d190a460592b0ab947fa7eb783da

pulsejet commented 7 years ago

It does compile for arm64-v8a now, but the compiled binary doesn't seem to be working. Just a black screen when started (on my Xperia M5, and I can confirm that it can run AArch64, since I had it running mkxp without sound). I just have to change the APP_ABI in Application.mk, right? Or am I missing something? Also, compiling for armeabi-v7a works just fine, as before.

pulsejet commented 7 years ago

@xperia64, any insights on this?