https://sourceware.org/bugzilla/show_bug.cgi?id=18347
Bug ID: 18347
Summary: On ARM, "LDR =something" with missing destination
register is silently ignored
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
Target Milestone: ---
A simple test program that demonstrates this problem:
MOV r1, r0
LDR =garbage // no destination register
MOV r2, r3
Assembles without any error or warning, and disassembles as:
00000000 <.text>:
0: e1a01000 mov r1, r0
4: e1a02003 mov r2, r3
The effect is the same if the "garbage" symbol is actually defined. I made this
mistake while writing an IO routine, and had to look through the disassembly to
figure out why the register had the wrong value.
GAS should throw an error when it encounters such an instruction, since there
is no sensible way to interpret it.
--
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