GDB (xrefs)

Functions
arm-get-next-pcs.c File Reference
`#include "common-defs.h"`
`#include "gdb_vecs.h"`
`#include "common-regcache.h"`
`#include "arm.h"`
`#include "arm-get-next-pcs.h"`

Go to the source code of this file.

## Functions
void | arm_get_next_pcs_ctor (struct arm_get_next_pcs *self, struct arm_get_next_pcs_ops *ops, int byte_order, int byte_order_for_code, int has_thumb2_breakpoint, struct regcache *regcache)
static std::vector< CORE_ADDR > | thumb_deal_with_atomic_sequence_raw (struct arm_get_next_pcs *self)
static std::vector< CORE_ADDR > | arm_deal_with_atomic_sequence_raw (struct arm_get_next_pcs *self)
static std::vector< CORE_ADDR > | thumb_get_next_pcs_raw (struct arm_get_next_pcs *self)
static std::vector< CORE_ADDR > | arm_get_next_pcs_raw (struct arm_get_next_pcs *self)
std::vector< CORE_ADDR > | arm_get_next_pcs (struct arm_get_next_pcs *self)

## Function Documentation

## ◆ arm_deal_with_atomic_sequence_raw()

static std::vector<CORE_ADDR> arm_deal_with_atomic_sequence_raw | ( | struct arm_get_next_pcs * | self | ) |
| static

Definition at line 187 of file arm-get-next-pcs.c.

References arm_instruction_changes_pc(), bits, BranchDest, loc, and regcache_read_pc().

Referenced by arm_get_next_pcs().

## ◆ arm_get_next_pcs()

std::vector<CORE_ADDR> arm_get_next_pcs | ( | struct arm_get_next_pcs * | self | ) |

Definition at line 911 of file arm-get-next-pcs.c.

References arm_deal_with_atomic_sequence_raw(), arm_get_next_pcs_raw(), thumb_deal_with_atomic_sequence_raw(), and thumb_get_next_pcs_raw().

Referenced by arm_breakpoint_kind_from_current_state(), arm_linux_software_single_step(), and arm_software_single_step().

## ◆ arm_get_next_pcs_ctor()

void arm_get_next_pcs_ctor | ( | struct arm_get_next_pcs * | self,
|  | struct arm_get_next_pcs_ops * | ops,
|  | int | byte_order,
|  | int | byte_order_for_code,
|  | int | has_thumb2_breakpoint,
|  | struct regcache * | regcache
| ) |  |

Definition at line 29 of file arm-get-next-pcs.c.

Referenced by arm_breakpoint_kind_from_current_state(), arm_linux_software_single_step(), and arm_software_single_step().

## ◆ arm_get_next_pcs_raw()

static std::vector<CORE_ADDR> arm_get_next_pcs_raw | ( | struct arm_get_next_pcs * | self | ) |
| static

Definition at line 646 of file arm-get-next-pcs.c.

References _, ARM_PC_REGNUM, ARM_PS_REGNUM, bit, bitcount(), bits, BranchDest, condition_true(), error(), FLAG_C, INST_NV, gdb.printer.bound_registers::long, MAKE_THUMB_ADDR, offset, regcache::regcache(), regcache_raw_get_unsigned(), regcache_read_pc(), shifted_reg_val(), and status.

Referenced by arm_get_next_pcs().

## ◆ thumb_deal_with_atomic_sequence_raw()

static std::vector<CORE_ADDR> thumb_deal_with_atomic_sequence_raw | ( | struct arm_get_next_pcs * | self | ) |
| static

Definition at line 49 of file arm-get-next-pcs.c.

References ARM_PS_REGNUM, bit, bits, loc, MAKE_THUMB_ADDR, offset, regcache_raw_get_unsigned(), regcache_read_pc(), sbits, status, thumb2_instruction_changes_pc(), thumb_insn_size(), and thumb_instruction_changes_pc().

Referenced by arm_get_next_pcs().

## ◆ thumb_get_next_pcs_raw()

static std::vector<CORE_ADDR> thumb_get_next_pcs_raw | ( | struct arm_get_next_pcs * | self | ) |
| static

Definition at line 266 of file arm-get-next-pcs.c.

References ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_PS_REGNUM, ARM_SP_REGNUM, bit, bitcount(), bits, condition_true(), gdb_assert, INT_REGISTER_SIZE, gdb.printer.bound_registers::long, MAKE_THUMB_ADDR, offset, regcache::regcache(), regcache_raw_get_unsigned(), regcache_read_pc(), sbits, status, thumb_advance_itstate(), thumb_insn_size(), and UNMAKE_THUMB_ADDR.

Referenced by arm_get_next_pcs().