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