Changeset View
Changeset View
Standalone View
Standalone View
tests/sys/kern/ptrace_test.c
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include <unistd.h> | #include <unistd.h> | ||||
#include <atf-c.h> | #include <atf-c.h> | ||||
/* | /* | ||||
* Architectures with a user-visible breakpoint(). | * Architectures with a user-visible breakpoint(). | ||||
*/ | */ | ||||
#if defined(__amd64__) || defined(__i386__) || defined(__mips__) || \ | #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ | ||||
defined(__riscv) || defined(__sparc64__) | defined(__i386__) || defined(__mips__) || defined(__riscv) || \ | ||||
defined(__sparc64__) | |||||
#define HAVE_BREAKPOINT | #define HAVE_BREAKPOINT | ||||
#endif | #endif | ||||
/* | /* | ||||
* Adjust PC to skip over a breakpoint when stopped for a breakpoint trap. | * Adjust PC to skip over a breakpoint when stopped for a breakpoint trap. | ||||
*/ | */ | ||||
#ifdef HAVE_BREAKPOINT | #ifdef HAVE_BREAKPOINT | ||||
#if defined(__amd64__) || defined(__i386__) | #if defined(__aarch64__) | ||||
#define SKIP_BREAK(reg) ((reg)->elr += 4) | |||||
#elif defined(__amd64__) || defined(__i386__) | |||||
#define SKIP_BREAK(reg) | #define SKIP_BREAK(reg) | ||||
#elif defined(__arm__) | |||||
#define SKIP_BREAK(reg) ((reg)->r_pc += 4) | |||||
#elif defined(__mips__) | #elif defined(__mips__) | ||||
#define SKIP_BREAK(reg) ((reg)->r_regs[PC] += 4) | #define SKIP_BREAK(reg) ((reg)->r_regs[PC] += 4) | ||||
#elif defined(__riscv) | #elif defined(__riscv) | ||||
#define SKIP_BREAK(reg) ((reg)->sepc += 4) | #define SKIP_BREAK(reg) ((reg)->sepc += 4) | ||||
#elif defined(__sparc64__) | #elif defined(__sparc64__) | ||||
#define SKIP_BREAK(reg) do { \ | #define SKIP_BREAK(reg) do { \ | ||||
(reg)->r_tpc = (reg)->r_tnpc + 4; \ | (reg)->r_tpc = (reg)->r_tnpc + 4; \ | ||||
(reg)->r_tnpc += 8; \ | (reg)->r_tnpc += 8; \ | ||||
▲ Show 20 Lines • Show All 3,756 Lines • Show Last 20 Lines |