Home | History | Annotate | Download | only in include
History log of /src/sys/arch/arm/include/ptrace.h
RevisionDateAuthorComments
 1.17  14-Dec-2020  rin Obsolete PT_STEP and friends, that have never been implemented.

PT_STEP was exposed to userland for NetBSD 1.6 to 9, and
PT_SETSTEP and PT_CLEARSTEP was for 8 to 9. Therefore, they cannot be
reused for other purposes.

PT_STEP was introduced to arm/ptrace.h rev 1.2:

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/arm/include/ptrace.h#rev1.2

This was for workaround against GDB, which assumes PT_STEP is 9 (even
today!!), if it is undefined. But, this should have been dealt with
differently...
 1.16  01-Dec-2020  rin Fix confusions related to encoding of instructions.

For __ARMEB__ in BE8 mode, instructions are encoded in little-endian.
Therefore, we need to swap bytes against these in native byte order.

In other cases, i.e., __ARMEL__ and __ARMEB__ in BE32 mode, instructions
are in native byte order, and we don't need to swap them.
 1.15  18-Jun-2019  kamil branches: 1.15.10;
Introduce PTRACE_REG_FP() a helper macro to retrieve the frame pointer

The macro is dummy for ia64 (the FP register is unknown and can change
freely) and sparc/sparc64 (not stored in struct reg).
 1.14  18-Jun-2019  skrll Use UAL syntax for udf. NFCI.
 1.13  17-Jun-2019  kamil Define PTRACE_ILLEGAL_ASM for arm (32-bit)

udf $0 is expected to raise SIGILL for all ARM 32-bit targets.
 1.12  27-Dec-2017  christos branches: 1.12.4;
PR/52867: Martin Husemann: arm sofware breakpoint asm is slightly off

ARM uses an undefined instruction to emulate a software breakpoint.
However, the ptrace.h instruction on the one hand, and gdb/the kernel
disagree on the exact value.

This causes PTRACE_BREAKPOINT_ASM to generate a SIGILL instead of a SIGTRAP.
 1.11  12-Apr-2017  kamil Add new macro PTRACE_BREAKPOINT_ASM in <sys/ptrace.h> MD part

This macro ships with a MD-specific assembly instruction triggering
a software breakpoint.

Missing instruction for powerpc targets.

This code is used in ATF tests (lib/libc/sys/t_ptrace_wait).

Original patch by Nick Hudson, thanks!
 1.10  08-Apr-2017  kamil Add new ptrace(2) API: PT_SETSTEP & PT_CLEARSTEP

These operations allow to mark thread as a single-stepping one.

This allows to i.a.:
- single step and emit a signal (PT_SETSTEP & PT_CONTINUE)
- single step and trace syscall entry and exit (PT_SETSTEP & PT_SYSCALL)

The former is useful for debuggers like GDB or LLDB. The latter can be used
to singlestep a usermode kernel. These examples don't limit use-cases of
this interface.

Define PT_*STEP only for platforms defining PT_STEP.

Add new ATF tests setstep[1234].

These ptrace(2) operations first appeared in FreeBSD.

Sponsored by <The NetBSD Foundation>
 1.9  25-Nov-2016  christos branches: 1.9.2;
avoid macro confusion
 1.8  25-Sep-2015  christos branches: 1.8.2;
For processors that have memory breakpoints, add macros for them to help
libproc
 1.7  15-Sep-2015  christos Provide access to pc/sp/syscall-return registers like we have for mcontext
 1.6  05-Dec-2012  matt branches: 1.6.14;
ARMFPE hasn't compiled since NetBSD 4. Remove it.
Complete support for FPU_VFP.
fpregs now contains vfpreg.
XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later
have 32 64-bit FP registers.
 1.5  25-Jan-2008  skrll branches: 1.5.44; 1.5.54;
Define PT_MACHDEP_STRINGS
 1.4  11-Dec-2005  christos branches: 1.4.46; 1.4.50; 1.4.52; 1.4.58;
merge ktrace-lwp.
 1.3  24-Mar-2004  ws branches: 1.3.16;
Fix Frank Lancaster's long standing broken license (after consulting with him).
 1.2  19-Oct-2001  bjh21 branches: 1.2.4; 1.2.22;
Make sure that PT_STEP is defined for userland, even though we don't
support it in the kernel yet. If we don't do this, GDB arbitrarily
assumes we wanted it to be 9, which is silly.

In the kernel, leave it undefined so that sys_process.c doesn't
generate code for it.
 1.1  11-Feb-2001  bjh21 branches: 1.1.4; 1.1.6;
Shared ARM ptrace(2) implementation. Mostly the same as the arm32
version, but with some #ifdefs for arm26.

Also, don't define PT_STEP, since we don't implement it. This should
reduce code size a little.
 1.1.6.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.2  12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.1  11-Feb-2001  bouyer file ptrace.h was added on branch thorpej_scsipi on 2001-03-12 13:27:24 +0000
 1.2.22.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.22.2  18-Sep-2004  skrll Sync with HEAD.
 1.2.22.1  03-Aug-2004  skrll Sync with HEAD
 1.2.4.2  19-Oct-2001  bjh21 Make sure that PT_STEP is defined for userland, even though we don't
support it in the kernel yet. If we don't do this, GDB arbitrarily
assumes we wanted it to be 9, which is silly.

In the kernel, leave it undefined so that sys_process.c doesn't
generate code for it.
 1.2.4.1  19-Oct-2001  bjh21 file ptrace.h was added on branch nathanw_sa on 2001-10-19 00:18:21 +0000
 1.3.16.1  04-Feb-2008  yamt sync with head.
 1.4.58.1  18-Feb-2008  mjf Sync with HEAD.
 1.4.52.1  23-Mar-2008  matt sync with HEAD
 1.4.50.1  27-Jan-2008  chris Sync to HEAD.
 1.4.46.1  28-Feb-2008  rjs Sync with HEAD.
 1.5.54.2  03-Dec-2017  jdolecek update from HEAD
 1.5.54.1  25-Feb-2013  tls resync with head
 1.5.44.1  16-Jan-2013  yamt sync with (a bit old) head
 1.6.14.4  28-Aug-2017  skrll Sync with HEAD
 1.6.14.3  05-Dec-2016  skrll Sync with HEAD
 1.6.14.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.6.14.1  22-Sep-2015  skrll Sync with HEAD
 1.8.2.2  26-Apr-2017  pgoyette Sync with HEAD
 1.8.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.12.4.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.10.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed