diff options
author | Steve MacLean <Steve.MacLean@microsoft.com> | 2019-07-04 05:29:07 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-04 05:29:07 +0300 |
commit | 113558f722f650a10cc572b5c910a1e874dadd76 (patch) | |
tree | d53e3fd860c1f9509ae2ab2e6e379b27bab05db0 /src/coreclr/clrdefinitions.cmake | |
parent | 6da125e3addff4ca5332906b8391e8a4aa233887 (diff) |
arm64singlestepper (dotnet/coreclr#25512)
Add single step emulation for arm64 Linux
Add a copy and rework armsinglestepper to arm64singlestepper
Add arm64 emulation of all armv8 user space instructions which read or write PC.
- ADR, ADRP
- Branch instructions: B, BL, B.cond, BR, BLR, RET
- LDR (literal)
* Add FEATURE_EMULATE_SINGLESTEP
* Enable for ARM64 linux
* Debugging fixes
Fix IsSSFlagEnabled bug
Fix opcode type
Fix code buffer asserts
Fix CBZ typo
Fix BitExtract
Fix m_targetPc
Minimize written instructions
Fix comments
Fix Bypass address truncation
Fix false assert
Add additional logging
Use %lx to log addresses
Remove stray LOG
Remove stray assert
Commit migrated from https://github.com/dotnet/coreclr/commit/613f9f233abde4159a85aa8130b7fcb57dc7a4ef
Diffstat (limited to 'src/coreclr/clrdefinitions.cmake')
-rw-r--r-- | src/coreclr/clrdefinitions.cmake | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/coreclr/clrdefinitions.cmake b/src/coreclr/clrdefinitions.cmake index 19eab4d8857..3576844745d 100644 --- a/src/coreclr/clrdefinitions.cmake +++ b/src/coreclr/clrdefinitions.cmake @@ -22,6 +22,7 @@ if (CLR_CMAKE_TARGET_ARCH_AMD64) elseif (CLR_CMAKE_TARGET_ARCH_ARM64) if (CLR_CMAKE_PLATFORM_UNIX) add_definitions(-DDBG_TARGET_ARM64_UNIX) + add_definitions(-DFEATURE_EMULATE_SINGLESTEP) endif() add_definitions(-D_TARGET_ARM64_) add_definitions(-D_TARGET_64BIT_) @@ -40,6 +41,7 @@ elseif (CLR_CMAKE_TARGET_ARCH_ARM) add_definitions(-D_TARGET_ARM_) add_definitions(-DDBG_TARGET_32BIT) add_definitions(-DDBG_TARGET_ARM) + add_definitions(-DFEATURE_EMULATE_SINGLESTEP) elseif (CLR_CMAKE_TARGET_ARCH_I386) add_definitions(-D_TARGET_X86_) add_definitions(-DDBG_TARGET_32BIT) |