Hi guys I don't have much Android experience but I've been given a task that I'm quite stumped on. I'm getting the error
A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x708d31bd64 in tid 22188
This happens when I try to install my app on to a Galaxy Note 9 running on Android 10. I'm using Android Studio 4.1 R3. I've been searching for answers all day and the closest I've come is from https://github.com/facebook/react-native/issues/29517.
From what I gather, this error is only for Android 10 and above, and that I need to disable Execute Memory Only (XOM) or use mprotect() somewhere. As indicated in https://source.android.com/devices/tech/debug/execute-only-memory#disabling, I need to do either one of the following:
// Android.mk
LOCAL_XOM := false
// Android.bp
cc_binary { // or other module types
...
xom: false,
}
My question is then where are Android.mk and Android.bp? I'm not able to find either files in my project.
OR
If code introspection is necessary on executable code sections, first call mprotect to mark the code readable. Then after the operation is complete, call mprotect again to mark it unreadable.
How exactly do you use mprotect()? I'm not able to find any clear examples showing its usage.