https://sourceware.org/bugzilla/show_bug.cgi?id=18198
Bug ID: 18198
Summary: On ARM, instruction and data endianness cannot differ
Product: binutils
Version: 2.25
Status: NEW
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: solrabizna at gmail dot com
Flags: security-
I'm working on a project targeting ARMv7-A processors with the E bit set. This
execution environment has big-endian data and little-endian instructions. The
ARM Architecture Reference Manual is very clear on the topic; ARMv7-A
instructions can *never* be big-endian. (Some other ARM variants allow
big-endian instructions via the B bit, which is separate from the E bit and
cannot normally be altered after power-on.)
I am aware of -EB/-EL arguments to the assembler; they specify both data and
instruction endianness. I've Googled and asked colleagues and pored over the
info pages, and I have not found any combination of command-line arguments or
assembler directives that allows big-endian data with little-endian
instructions.
It would be possible for me to eliminate the use of the E bit throughout this
particular project. This means that, at least for me, a resolution of "too
difficult to support" would be survivable. The underlying problem, however, is
that GNU toolchains apparently cannot be used to produce code that operates
with the E bit set. This would bother me on principle if nothing else.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils