* Support building for Windows on ARM * Fix usage of reserved function name on ARM * Fix architecture dependent `CONTEXT` fields access * Fixes for debugging on Windows on ARM * Fix breakpoint behavior on windows on ARM * Fix register profile when debugging * Remove `drx` error message if not supported * Add support for hardware breakpoints * Disable support for hardware single-stepping * Fix Windows Message breakpoints on ARM * Fix software single-stepping on return instruction on ARM * Consider link register as destination for return instructions * Fix setting debug bits to 16 * Rename `r12` to `ip` for windows arm register profile * Remove debug bits hardcoding on windows * Add 32bit registers to Windows ARM64 register profile * Fix software step breakpoint alignment when entering thumb mode * Define `RZ_TEST_ARCH` for `arm` and `arm64` * Use `StackWalk64` API for backtracing on Windows * Fix software single-stepping ARM in thumb mode * Sync `asm.bits` with debugger * Cleanup windows_debug.c * Add SPDX for cross-arm64-windows.txt * Add floating point control register flags * Fix Windows Arm register profile alignment * Keep `drx` warning
78 lines
2.7 KiB
C
78 lines
2.7 KiB
C
// SPDX-FileCopyrightText: 2020 GustavoLCR <gugulcr@gmail.com>
|
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
|
|
return strdup(
|
|
"=PC pc\n"
|
|
"=SP sp\n"
|
|
"=BP fp\n"
|
|
"=LR lr\n"
|
|
"=A0 r0\n"
|
|
"=A1 r1\n"
|
|
"=A2 r2\n"
|
|
"=A3 r3\n"
|
|
"=ZF zf\n"
|
|
"=SF nf\n"
|
|
"=OF vf\n"
|
|
"=CF cf\n"
|
|
"gpr r0 .32 4 0\n"
|
|
"gpr r1 .32 8 0\n"
|
|
"gpr r2 .32 12 0\n"
|
|
"gpr r3 .32 16 0\n"
|
|
"gpr r4 .32 20 0\n"
|
|
"gpr r5 .32 24 0\n"
|
|
"gpr r6 .32 28 0\n"
|
|
"gpr r7 .32 32 0\n"
|
|
"gpr r8 .32 36 0\n"
|
|
"gpr r9 .32 40 0\n"
|
|
"gpr r10 .32 44 0\n"
|
|
"gpr r11 .32 48 0\n"
|
|
"gpr ip .32 52 0\n"
|
|
"gpr sp .32 56 0\n"
|
|
"gpr lr .32 60 0\n"
|
|
"gpr pc .32 64 0\n"
|
|
"flg cpsr .32 68 0 _____tfiae_____________j__qvczn\n"
|
|
"flg vf .1 68.28 0 overflow\n"
|
|
"flg cf .1 68.29 0 carry\n"
|
|
"flg zf .1 68.30 0 zero\n"
|
|
"flg nf .1 68.31 0 sign\n"
|
|
"flg fpscr .32 72 0\n"
|
|
"flg fvf .1 72.28 0 overflow\n"
|
|
"flg fcf .1 72.29 0 carry\n"
|
|
"flg fzf .1 72.30 0 zero\n"
|
|
"flg fnf .1 72.31 0 sign\n"
|
|
"fpu q0 .128 80 0\n"
|
|
"fpu q1 .128 96 0\n"
|
|
"fpu q2 .128 112 0\n"
|
|
"fpu q3 .128 128 0\n"
|
|
"fpu q4 .128 144 0\n"
|
|
"fpu q5 .128 160 0\n"
|
|
"fpu q6 .128 176 0\n"
|
|
"fpu q7 .128 192 0\n"
|
|
"fpu q8 .128 208 0\n"
|
|
"fpu q9 .128 224 0\n"
|
|
"fpu q10 .128 240 0\n"
|
|
"fpu q11 .128 256 0\n"
|
|
"fpu q12 .128 272 0\n"
|
|
"fpu q13 .128 288 0\n"
|
|
"fpu q14 .128 304 0\n"
|
|
"fpu q15 .128 320 0\n"
|
|
"drx bcr0 .32 336 0\n"
|
|
"drx bcr1 .32 340 0\n"
|
|
"drx bcr2 .32 344 0\n"
|
|
"drx bcr3 .32 348 0\n"
|
|
"drx bcr4 .32 352 0\n"
|
|
"drx bcr5 .32 356 0\n"
|
|
"drx bcr6 .32 360 0\n"
|
|
"drx bcr7 .32 364 0\n"
|
|
"drx bvr0 .32 368 0\n"
|
|
"drx bvr1 .32 372 0\n"
|
|
"drx bvr2 .32 376 0\n"
|
|
"drx bvr3 .32 380 0\n"
|
|
"drx bvr4 .32 384 0\n"
|
|
"drx bvr5 .32 388 0\n"
|
|
"drx bvr6 .32 392 0\n"
|
|
"drx bvr7 .32 396 0\n"
|
|
"drx wcr0 .32 400 0\n"
|
|
"drx wcr1 .32 404 0\n"
|
|
"drx wvr0 .32 408 0\n"
|
|
"drx wvr1 .32 412 0\n");
|