summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2025-10-17 01:13:21 +1100
committer Vas Crabb <vas@vastheman.com>2025-10-17 01:13:21 +1100
commit2ea623df2602aee8df461d348e4a338420ee4dde (patch)
treefc921f8fe4052a6e61f0b236db48d4f5a23bab45
parent7b7adbd5e844017e5aa0a7968d02ca931ae9cc25 (diff)
cpu/drcbearm64.cpp: Don't try to get offset of unbound labels even if it won't be used.
-rw-r--r--src/devices/cpu/drcbearm64.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/devices/cpu/drcbearm64.cpp b/src/devices/cpu/drcbearm64.cpp
index 0be354c56a4..39d32889dbb 100644
--- a/src/devices/cpu/drcbearm64.cpp
+++ b/src/devices/cpu/drcbearm64.cpp
@@ -2080,7 +2080,7 @@ void drcbe_arm64::op_jmp(a64::Assembler &a, const uml::instruction &inst)
}
const bool bound = a.code()->is_label_bound(jmptarget);
- const uint64_t targetoffs = a.code()->base_address() + a.code()->label_offset(jmptarget);
+ const uint64_t targetoffs = bound ? (a.code()->base_address() + a.code()->label_offset(jmptarget)) : 0;
const uint64_t codeoffs = a.code()->base_address() + a.offset();
const bool tbnzrange = bound && is_valid_immediate_signed(int64_t(targetoffs) - codeoffs, 14 + 2);