[DTrace-devel] [PATCH 00/20] a pile of not-very-related backlogged work
Nick Alcock
nick.alcock at oracle.com
Wed May 11 21:12:42 UTC 2022
Most of these are fallout from the alloca work, in particular:
Add annotations for dctx->X and mst->X members
cg: add dt_cg_trace
memcpy: error-check
cg: comment typo fix
regset: add spill protection
bpf: don't throw away CTF errors when doing relocations
tests: always check expected results as text, not binary
tests: add descriptive comment to fault-location.sh
dlibs: improve load-time errors
runtest: pass timeouts down to tests: use it in one test
modules: fix can-never-fail comparison
speculations, bpf: check for nonexistent CTF before using it
drop obsolete GCC bug workaround
They are mostly unrelated, but fall into a few broad categories:
- little infrastructural enhancements: new asm annotations, a
mechanism for emitting trace output at runtime to the BPF
log pipe, and a mechanism for preventing register spills
across regions of codegen where you know you will be
referring to those regs by number and will be very broken
if they get spilled; plus, we now check dt_cg_memcpy for
errors; some new translators are added as well
- type-related fixes: only one of this once-copious family survives,
implementing support for the "slice" mechanism which CTFv3 uses to
encode bitfields
- bugfixes, mostly to the no-CTF case (which was emitting
terrible error messages) and for the glibc 2.31 -- 2.34 case,
which was failing to identify crucial parts of the dlmopen-
spying machinery due to internal changes (2.35 is not yet
handled: coming soon); but also a fix for a terrible ancient
causing segfaults at startup if you did really not too
unlikely things with the command line
- cleanups, dropping some very dead unnecessary typedefs which were
getting in my way, dead old buggy-compiler workarounds, etc.
- testsuite fixes, always doing textual diffs, allowing
@@runtest-opts: -e to work as you'd expect, and allowing
tests to see the timeout in force so they can set their
own timeouts based on that value
No new test failures observed.
Kris Van Hees (1):
Add annotations for dctx->X and mst->X members
Nick Alcock (19):
Extirpate longlong_t and u_longlong_t from C
proc: refactor find_link_maps out of find_l_searchlist
libproc: dynamically search for elements of the rtld_global structure
cg: add dt_cg_trace
memcpy: error-check
cg: comment typo fix
regset: add spill protection
bpf: don't throw away CTF errors when doing relocations
tests: always check expected results as text, not binary
tests: add descriptive comment to fault-location.sh
dlibs: improve load-time errors
parser: support slices of typedefs, etc
translators: procfs.d: rename projid_t
runtest: pass timeouts down to tests: use it in one test
modules: fix can-never-fail comparison
speculations, bpf: check for nonexistent CTF before using it
drop obsolete GCC bug workaround
test: allow test options to be set to "-e"
cmd: fix multiple args after --
Makeoptions | 3 +-
bpf/Build | 3 +-
bpf/trace_ptr.c | 23 ++
cmd/Build | 5 +-
cmd/dtrace.c | 378 +++++++++---------
libdtrace/Build | 2 +-
libdtrace/dt_cc.c | 38 +-
libdtrace/dt_cg.c | 44 +-
libdtrace/dt_consume.c | 18 +-
libdtrace/dt_dis.c | 139 +++++--
libdtrace/dt_dlibs.c | 1 +
libdtrace/dt_handle.c | 2 +-
libdtrace/dt_ident.c | 10 +-
libdtrace/dt_link.c | 8 +-
libdtrace/dt_module.c | 2 +-
libdtrace/dt_parser.c | 90 +++--
libdtrace/dt_pid.c | 12 +-
libdtrace/dt_printf.c | 4 +-
libdtrace/dt_regset.c | 29 +-
libdtrace/dt_regset.h | 2 +
libdtrace/dt_subr.c | 18 +-
libdtrace/dtrace.h | 1 -
libdtrace/procfs.d.in | 4 +-
libproc/Build | 2 +-
libproc/Pcontrol.h | 8 +
libproc/mkoffsets.sh | 10 +-
libproc/rtld_db.c | 360 +++++++++++++----
runtest.sh | 15 +-
.../bitfields/tst.bitfield-is-integer.d | 25 ++
test/unittest/bitfields/tst.slices.d | 28 ++
.../dtrace-util/err.MultipleNonOptFlags.d | 17 +
test/unittest/error/tst.fault-location.sh | 3 +
test/unittest/providers/tst.dtrace_cleanup.sh | 2 +-
uts/common/sys/dtrace_types.h | 23 +-
34 files changed, 911 insertions(+), 418 deletions(-)
create mode 100644 bpf/trace_ptr.c
create mode 100644 test/unittest/bitfields/tst.bitfield-is-integer.d
create mode 100644 test/unittest/bitfields/tst.slices.d
create mode 100644 test/unittest/dtrace-util/err.MultipleNonOptFlags.d
--
2.36.1.263.g194b774378.dirty
More information about the DTrace-devel
mailing list