-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
ARM BE8 mode #785
Comments
@xizhizhang, what do you think? |
Relevant patches: https://patchwork.ozlabs.org/patch/143758/
…On Thu, Mar 16, 2017 at 8:43 PM Nguyen Anh Quynh ***@***.***> wrote:
@xizhizhang <https://github.com/xizhizhang>, what do you think?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#785 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAG0GKl_KXPU05plhOi_eDtqz0KTnwZTks5rmeU3gaJpZM4MgFN5>
.
|
if the patch you provided above is enough, that is not a lot of work to port over. can you do that? |
It seems qemu have already commit BE8's in 2012:
And, gcc toolchain already choose --be8 as the default link option. I have just test a BE8 style THUMB2 code in big endian example. If there are some bugs in ARM big endian mode's implementation, I would like to try to fix it. Thanks~ |
@aquynh That's the patch that adds support for QEMU. The code is all there already, support just needs to be added to Unicorn. |
Zach, can you send a testcase for this? |
I just ran into this problem with a binary I am working with. Is there a plan to add a flag to enable this mode in unicorn? |
The ARM spec was written by people who hit their head too many times, and includes a "be8" mode in addition to traditional "big" and "little" endiannesses. Specifically, BE8 uses little-endian instructions and big-endian data memory.
If it helps any, qemu-user supports this mode. ARMv7 either added or removed support for traditional BE32, in favor of BE8, so it's recent and relevant. The current GCC for Ubuntu targeting ARMBE will emit BE8 binaries.
The text was updated successfully, but these errors were encountered: