On 15 August 2018 at 09:30, Roman Kapl <roman.k...@sysgo.com> wrote: > Hi and thanks for review, > > On 08/14/2018 08:12 PM, Peter Maydell wrote: >> >> On 14 August 2018 at 17:54, Roman Kapl <r...@sysgo.com> wrote: >>> >>> If an instruction is conditional (like CBZ) and it is executed >>> conditionally >>> (using the ITx instruction), a jump to undefined label is generated. >>> >>> Fix the 'skip on condtion' code to create a new label only if it does not >>> already exist. Previously multiple labels were created, but only the last >>> one of >>> them was set. >> >> >> Hi; thanks for the bug report and the patch. >> >> This case (CBZ inside an IT block) is architecturally UNPREDICTABLE, >> but we certainly shouldn't crash QEMU. > > > Hm... I am not able to find that claim in my ARMv7 reference manual (but I > am no ARM expert).
v7A Arm ARM DDI0406C.b, section A8.8.29 "CBNZ, CBZ": pseudocode says "if InITBlock() then UNPREDICTABLE;". thanks -- PMM