Skip to content

AARCH64 instruction ldpsw handled improperly #8008

Open
@dt-12345

Description

@dt-12345

Describe the bug
The ldpsw instruction loads two consecutive 32-bit values from memory and stores the in the two specified 64-bit registers. The decompiler appears to treat it as loading the lower 32 bits of two consecutive 64-bit values instead.

Expected behavior
Proper handling of ldpsw

Screenshots
Notes: param1->mObjIndex is at offset 0x88 and param1->mIsProcessing is at offset 0x90 (I believe the correct behavior is to load param1 + 0x88 into x10 and param1 + 0x8c into x11)
Image

Environment (please complete the following information):

  • OS: Windows 10 Home 22H2
  • Java Version: 21.0.4
  • Ghidra Version: 11.3
  • Ghidra Origin: Official GitHub Release

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions