Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions gdb/arm-tdep.c
Original file line number Diff line number Diff line change
Expand Up @@ -533,20 +533,27 @@ arm_pc_is_thumb (struct gdbarch *gdbarch, CORE_ADDR memaddr)
For more details see "B1.5.8 Exception return behavior"
in both ARMv6-M and ARMv7-M Architecture Reference Manuals.

In the ARMv8-M Architecture Technical Reference also adds
for implementations without the Security Extension:
From ARMv8-M Architecture Technical Reference, D1.2.95
FType, Mode and SPSEL bits are to be considered when the Security
Extension is not implemented.

EXC_RETURN Condition
0xFFFFFFB0 Return to Handler mode.
0xFFFFFFB8 Return to Thread mode using the main stack.
0xFFFFFFBC Return to Thread mode using the process stack. */
EXC_RETURN Return To Return Stack Frame Type
0xFFFFFFA0 Handler mode Main Extended
0xFFFFFFA8 Thread mode Main Extended
0xFFFFFFAC Thread mode Process Extended
0xFFFFFFB0 Handler mode Main Standard
0xFFFFFFB8 Thread mode Main Standard
0xFFFFFFBC Thread mode Process Standard */

static int
arm_m_addr_is_magic (CORE_ADDR addr)
{
switch (addr)
{
/* Values from ARMv8-M Architecture Technical Reference. */
case 0xffffffa0:
case 0xffffffa8:
case 0xffffffac:
case 0xffffffb0:
case 0xffffffb8:
case 0xffffffbc:
Expand Down