-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not working on Android 10 #3683
Comments
Your analysis and the relevant DR code, suggests the newer bionic file size and/or its sections' sizes probably result in loading/mapping error(s). Can you run with |
Hmm.. maybe too large. |
Does it work with no client? |
No, it doesn't work with no client.
|
Update: this may caused by Android 10 XoM enabled, but it disabled after android 11. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Workaround at #3543 not work anymore. This time seems some bug DR dealing with bionic libc.
After diffing bionic between P and Q beta, It seems that TLS structure is changed. I'm not sure this is the problem.
Firstly I think it is the issue of the newer kernel
Linux localhost 4.14.69 #1 SMP PREEMPT Wed Jun 5 23:46:39 CST 2019 aarch64 Android
But I tried DR with Linux 4.19 and glibc, it works fine. So it might be the bionic libc.
The target behavior:
Static link glibc no-pie running under Android Q: OK
Static link glibc pie running under Android Q: OK
Static link bionic no-pie running under Android Q: OK
Static link bionic pie running under Android Q: Not compiling
Dynamic link bionic no-pie running under Android Q: OK (Not sure why DR bypass linker PIE checking)
Dynamic link bionic pie running under Android Q: Stuck at some point
And I strace the DR and target with
strace -f ./bin64/drrun -c ./samples/bin64/libinscount.so -- ../hello_pie
, DR clone it self and creates a lot of subprocess as the same args as it self.Debug mode would trigger ASSERT
The text was updated successfully, but these errors were encountered: