[DTrace-devel] [PATCH 00/20] a pile of not-very-related backlogged work

Kris Van Hees kris.van.hees at oracle.com
Fri May 20 20:32:12 UTC 2022


As a whole, can you go through the patches and ensure that copyright statements
have been updated on files that are modified?  That should always be part of
patches to ensure that it does not get overlooked.

On Wed, May 11, 2022 at 10:12:42PM +0100, Nick Alcock via DTrace-devel wrote:
> 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
> 
> 
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel



More information about the DTrace-devel mailing list