#
1.4 |
|
26-Apr-2023 |
claudio |
Implement dt(4) utrace support on amd64 and i386.
This adds stacktrace_save_utrace() to extract and save the userland stack which is stubbed out on most archs. alpha and riscv64 do not even implement dt(4) and stacktrace_save_at() so the stubs are excluded there.
Additionally add a new ioctl DTIOCGETAUXBASE which allows btrace to fetch the AUX_BASE vallue from the AUX vector of a process.
OK mpi@ (some time ago) discussed with kettenis@
|
Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.3 |
|
18-Apr-2020 |
visa |
Sync existing stacktrace_save() implementations
Upgrade stacktrace_save() to stacktrace_save_at() on architectures where the latter is missing. Define stacktrace_save() as an inline function in header <sys/stacktrace.h> to reduce duplication of code.
OK mpi@
|
#
1.2 |
|
25-Mar-2020 |
mpi |
Introduce stacktrace_save_at() and make use of it in dt(4).
This variant of stacktrace_save() takes an aditionnal argument to skip an arbitrary number of frame. This allows to skip recording frames used to execute the profiling code and produces outputs easier to understand.
Inputs from and ok visa@
|
#
1.1 |
|
20-Jan-2020 |
visa |
Separate the stack trace saving interface from ddb. The saving does not require the debugger on most architectures, and the separation makes the code easier to use from other subsystems.
The function definitions are still conditional to DDB. However, that should not matter for now.
OK deraadt@, mpi@
|
#
1.3 |
|
18-Apr-2020 |
visa |
Sync existing stacktrace_save() implementations
Upgrade stacktrace_save() to stacktrace_save_at() on architectures where the latter is missing. Define stacktrace_save() as an inline function in header <sys/stacktrace.h> to reduce duplication of code.
OK mpi@
|
#
1.2 |
|
25-Mar-2020 |
mpi |
Introduce stacktrace_save_at() and make use of it in dt(4).
This variant of stacktrace_save() takes an aditionnal argument to skip an arbitrary number of frame. This allows to skip recording frames used to execute the profiling code and produces outputs easier to understand.
Inputs from and ok visa@
|
#
1.1 |
|
20-Jan-2020 |
visa |
Separate the stack trace saving interface from ddb. The saving does not require the debugger on most architectures, and the separation makes the code easier to use from other subsystems.
The function definitions are still conditional to DDB. However, that should not matter for now.
OK deraadt@, mpi@
|
#
1.2 |
|
25-Mar-2020 |
mpi |
Introduce stacktrace_save_at() and make use of it in dt(4).
This variant of stacktrace_save() takes an aditionnal argument to skip an arbitrary number of frame. This allows to skip recording frames used to execute the profiling code and produces outputs easier to understand.
Inputs from and ok visa@
|
#
1.1 |
|
20-Jan-2020 |
visa |
Separate the stack trace saving interface from ddb. The saving does not require the debugger on most architectures, and the separation makes the code easier to use from other subsystems.
The function definitions are still conditional to DDB. However, that should not matter for now.
OK deraadt@, mpi@
|