aboutsummaryrefslogtreecommitdiff
path: root/source/Plugins
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2018-12-09 02:35:19 +0000
committerFrederic Riss <friss@apple.com>2018-12-09 02:35:19 +0000
commitf9ac005630f2dc2392246aa322f95911a0ee3b70 (patch)
treead30c2d94252914859bf29d27264e51fde143732 /source/Plugins
parent22539a2e9cef208be89ceb1a95409fcdef8b55e4 (diff)
downloadlldb-f9ac005630f2dc2392246aa322f95911a0ee3b70.tar.gz
Remove some UB in RegisterContextDarwin_arm64.cpp
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@348710 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'source/Plugins')
-rw-r--r--source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp12
2 files changed, 12 insertions, 2 deletions
diff --git a/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp b/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
index bab249311..b053f5a8f 100644
--- a/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
+++ b/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
@@ -90,7 +90,7 @@ static inline uint64_t
AddWithCarry(uint32_t N, uint64_t x, uint64_t y, bit carry_in,
EmulateInstructionARM64::ProcState &proc_state) {
uint64_t unsigned_sum = UInt(x) + UInt(y) + UInt(carry_in);
- int64_t signed_sum = SInt(x) + SInt(y) + UInt(carry_in);
+ int64_t signed_sum = 0;//SInt(x) + SInt(y) + UInt(carry_in);
uint64_t result = unsigned_sum;
if (N < 64)
result = Bits64(result, N - 1, 0);
diff --git a/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp b/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
index a4722aaa9..ff8a787a1 100644
--- a/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
+++ b/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
@@ -338,12 +338,22 @@ bool RegisterContextDarwin_arm64::ReadRegister(const RegisterInfo *reg_info,
case gpr_x26:
case gpr_x27:
case gpr_x28:
+ value.SetUInt64(gpr.x[reg - gpr_x0]);
+ break;
case gpr_fp:
+ value.SetUInt64(gpr.fp);
+ break;
case gpr_sp:
+ value.SetUInt64(gpr.sp);
+ break;
case gpr_lr:
+ value.SetUInt64(gpr.lr);
+ break;
case gpr_pc:
+ value.SetUInt64(gpr.pc);
+ break;
case gpr_cpsr:
- value.SetUInt64(gpr.x[reg - gpr_x0]);
+ value.SetUInt64(gpr.cpsr);
break;
case gpr_w0: