-
Notifications
You must be signed in to change notification settings - Fork 283
RISC-V: Lifting bug in JALR rd, rs1, imm when rd == rs1 #6003
Copy link
Copy link
Closed
Labels
Arch: RISC-VIssues with the RISC-V architecture pluginIssues with the RISC-V architecture pluginComponent: ArchitectureIssue needs changes to an architecture pluginIssue needs changes to an architecture pluginEffort: LowIssues require < 1 week of workIssues require < 1 week of workImpact: LowIssue is a papercut or has a good, supported workaroundIssue is a papercut or has a good, supported workaround
Milestone
Metadata
Metadata
Assignees
Labels
Arch: RISC-VIssues with the RISC-V architecture pluginIssues with the RISC-V architecture pluginComponent: ArchitectureIssue needs changes to an architecture pluginIssue needs changes to an architecture pluginEffort: LowIssues require < 1 week of workIssues require < 1 week of workImpact: LowIssue is a papercut or has a good, supported workaroundIssue is a papercut or has a good, supported workaround
See here:
binaryninja-api/arch/riscv/src/lib.rs
Lines 1220 to 1234 in 7d0b6bc
If
rd == rs1, but is neitherzeroorra(x0orx1resp.), the above code will lift thejalr rd, rs1, imminstruction as follows:Whereas the intended code should be lifted as: