[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/27065] New: [ARM] If-Then instruction and .align directive
From: |
kordalski.wojciech at gmail dot com |
Subject: |
[Bug gas/27065] New: [ARM] If-Then instruction and .align directive |
Date: |
Sun, 13 Dec 2020 22:18:07 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=27065
Bug ID: 27065
Summary: [ARM] If-Then instruction and .align directive
Product: binutils
Version: 2.35.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: kordalski.wojciech at gmail dot com
Target Milestone: ---
Created attachment 13048
--> https://sourceware.org/bugzilla/attachment.cgi?id=13048&action=edit
The minimal example
During research of ARM Cortex-M3-based processor for our master thesis, we
found a bug (using a tool that generates random-but-correct sequences of
assembly instructions).
Minimal example would be:
.syntax unified
.thumb
.align 2
.type f1, %function
.thumb_func
f1:
it eq
.align 2
moveq r0, 42
This code can be assembled successfully with: arm-none-eabi-as -o test.o test.s
After disassembly we get following listing:
test.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <f1>:
0: bf08 it eq
2: 46c0 nopeq ; (mov r8, r8)
4: 202a movs r0, #42 ; 0x2a
6: 46c0 nop ; (mov r8, r8)
The If-Then instruction became applied to NOP instruction (and not to MOV
instruction).
Expected behavior: MOV instruction become conditionally executed (assembler
should modify the If-Then instruction) or assembler prints a warning message
that MOV instruction has specified condition code, but it is not inside an IT
block.
--
You are receiving this mail because:
You are on the CC list for the bug.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gas/27065] New: [ARM] If-Then instruction and .align directive,
kordalski.wojciech at gmail dot com <=