Skip to content

ARM branches read registers #1087

@mbaharan

Description

@mbaharan

It seems that regs_access() does not wok properly for ARM branch instructions. Here is an example:

Platform: Arm-V8
Code: 0x00 0x00 0x53 0xe3 0xfc 0xff 0xff 0x1a 0x02
Disasm:
0x80001000:	cmp	r3, #0
	op_count: 2
		operands[0].type: REG = r3
		operands[0].access: READ
		operands[1].type: IMM = 0x0
	Update-flags: True
	Registers read: r3
	Registers modified: cpsr
0x80001004:	bne	#0x80000ffc
	op_count: 1
		operands[0].type: IMM = 0x80000ffc
	Code condition: 2
	Registers read: pc
	Registers modified: pc

As it can be seen for bne instruction, cpsr has not been included in Registers read.
It might be good to mention that I am using 'next' branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions