Support 16 KB page sizes
Beginning with Android 15, Android supports devices that are configured to use a page size of 16 KB (16 KB devices). If your app uses any NDK libraries, either directly or indirectly through an SDK, then you will need to rebuild your app for it to work on these 16 KB devices.
Related Files: libfmod.so libfmodL.so
Version: 2.02.23
Test Method: https://developer.android.com/guide/practices/page-sizes#test
Cmd:
objdump -p libfmod.so | grep LOAD
Result:
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**12
LOAD off 0x0000000000050000 vaddr 0x0000000000050000 paddr 0x0000000000050000 align 2**12
LOAD off 0x000000000010a000 vaddr 0x000000000010a000 paddr 0x000000000010a000 align 2**12
LOAD off 0x0000000000110000 vaddr 0x0000000000110000 paddr 0x0000000000110000 align 2**12
Not 16 KB ELF alignment.(actually the latest verison 2.03.02 does not align either)
Could you please provide adapted 16kb elf alignment libfmod.so or source code for libfmod.so.
Hi,
Thank you for bringing this to our attention. I have passed it on to our development team and it will be supported in an upcoming release. Unfortunately, I cannot provide source code or an adapted file.
Thanks for your reply, looking forward to new version release.
1 Like
Hi,
FYI when I try to launch our game using fmod core 2.03 on 16KB aligned virtual device I have this crash:
* thread #1, name = 'imple.elixirapp', stop reason = breakpoint 4.1
* frame #0: 0x00007095060b41b8 libart.so`art_sigsegv_fault
frame #1: 0x00007095060b474c libart.so`art::FaultManager::HandleSigsegvFault(int, siginfo*, void*) + 1096
frame #2: 0x00007097a71ef06c libsigchain.so`art::SignalChain::Handler(int, siginfo*, void*) + 372
frame #3: 0x00007097cd5a4848 [vdso]`__kernel_rt_sigreturn
frame #4: 0x00007093c111dbf0 libfmod.so`pthread_once
frame #5: 0x00007093c10fb1f0 libfmod.so
frame #6: 0x00007093c10c0690 libfmod.so
frame #7: 0x00007097cd690560 linker64`__dl__ZN6soinfo17call_constructorsEv + 708
frame #8: 0x00007097cd675c30 linker64`__dl__Z9do_dlopenPKciPK17android_dlextinfoPKv + 756
frame #9: 0x00007097cd670b70 linker64`__dl__ZL10dlopen_extPKciPK17android_dlextinfoPKv.__uniq.234527301065430621646263515731762262959 + 76
frame #10: 0x00007097a32940cc libdl.so`android_dlopen_ext + 20
frame #11: 0x00007097a90e989c libnativeloader.so`android::NativeLoaderNamespace::Load(char const*) const + 144
frame #12: 0x00007097a90d9348 libnativeloader.so`OpenNativeLibrary + 1576
frame #13: 0x00007095061638b4 libart.so`art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, _jobject*, _jclass*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) + 608
frame #14: 0x00007094fd2e1918 libopenjdkjvm.so`JVM_NativeLoad + 360
frame #15: 0x00000000620fecc4
1 Like
li_fmod
December 1, 2024, 11:50pm
5
Hi,
Thank you for sharing the information.
The fix is currently in development and will be included in the upcoming release, version 2.02.26 and version 2.03.05.
2 Likes