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
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to