[DTrace-devel] [PATCH 46/47] Update NEWS and spec file for errata release 2.0.0-1.0

Kris Van Hees kris.van.hees at oracle.com
Sun May 3 20:18:26 PDT 2020


Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 NEWS        | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 dtrace.spec | 22 ++++++++++++++--
 2 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 245427af..925b04ca 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,78 @@
+2.0.0-1.0 (Apr 24th, 2020)
+-------------------------
+
+First errata of the standalone userspace implementation.
+
+** This is a pre-release with limited functionality. **
+
+New features:
+
+ - BEGIN and END probes are functional.  They are implemented using uprobes
+   on trigger functions in libdtrace.  The current implementation does not
+   yet satisfy all documented semantics for these special probes.  E.g. It
+   is possible for a probe to be reported prior to the BEGIN probe.
+
+ - The exit(n) action has been implemented.  It terminates probing and will
+   result in dtrace reporting the given return value <n> as its return code.
+
+ - The flow-indent option -F has been implemented.  Some of the heuristics
+   present in DTrace 1.x are not available in this version - further code
+   analysis is ongoing to determine whether they are necessary.
+
+New options:
+
+ - -xdisasm=n: Specify which disassembler listings to generate when the -S
+   option is supplied.  The value for <n> is the sum of any of the following:
+
+       1 = After compilation and assembly of a program.
+       2 = After linking in precompiled BPF functions (dependencies).
+       4 = After final relocation processing (final program).
+
+Bugfixes:
+
+ - Various memory management issues such as memory leak and unsafe memory
+   access operations were fixed.
+
+ - Using local variables in D clauses could cause the compiler to generate
+   instruction sequences where a load instruction for a local variable occurred
+   before a store took place to that variable.  The BPF verifier rejects such
+   sequences.  We now ensure that we do not load from stack locations that
+   were never initialized.
+
+ - The code generated for the post-increment operation resulted in the new
+   value to be used as value of the expression.  The value of the expression
+   is now the old value.
+
+ - Various issues were resolved concerning register use in the compiler.  We
+   are now using proper register spilling techniques to free up a sufficient
+   amount of general purpose registers.
+
+ - FBT return probes were not created correctly if an entry probe also existed
+   for the same function.  Both were getting attached to the same probe (either
+   entry or return, depending on which was created first).
+
+Internal changes:
+
+ - Various helper functions have been implemented in C code that is compiled
+   to BPF code using the GCC BPF cross compiler.  These are available as an
+   ELF object for linking with the dynamically generated code that the DTrace
+   compiler produces.  When D code has been compiled into BPF code, we resolve
+   any references to precompiled BPF functions against this ELF object and
+   add any functions used (and their dependencies) to the compiled program.
+
+ - Various tests in the testsuite make use of the -xerrtags and -xdroptags
+   options in dtrace to include specific error and drop tags in the error
+   output.  The testsuite engine did not enforce validation of these tags.
+   Tests that specify a tag in their name err.<tag>.* and drp.<tag>.*) will
+   now trigger validation that the specified tag is mentioned in the error
+   output that dtrace produces.
+
+ - Dynamically created system level probes (kprobes and uprobes are now grouped
+   under a tracepoint group named dt_<pid>_<prv>[_<prb>] where <pid> is the PID
+   of the dtrace process, <prv> the name of the probe provider, and <prb> the
+   probe name.  The _<prb> optional suffix is used for FBT probes to separate
+   entry probes from return probes.
+
 2.0.0 (Mar 10th, 2020)
 ----------------------
 
diff --git a/dtrace.spec b/dtrace.spec
index 4d8ce57d..9ba812c7 100644
--- a/dtrace.spec
+++ b/dtrace.spec
@@ -1,7 +1,7 @@
 # spec file for package dtrace
 #
 # Oracle Linux DTrace.
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # Licensed under the Universal Permissive License v 1.0 as shown at
 # http://oss.oracle.com/licenses/upl.
 
@@ -61,7 +61,7 @@ Conflicts:    systemtap-sdt-devel
 Provides:     systemtap-sdt-devel
 Summary:      DTrace user interface.
 Version:      2.0.0
-Release:      0.8%{?dist}
+Release:      1.0%{?dist}
 Source:       dtrace-%{version}.tar.bz2
 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 ExclusiveArch:    x86_64 aarch64
@@ -227,6 +227,24 @@ fi
 %{_libdir}/dtrace/testsuite
 
 %changelog
+* Thu Apr 30 2020 Kris Van Hees <kris.van.hees at oracle.com> - 2.0.0-1.0
+- Implement BEGIN and END probes. (Eugene Loh) [Orabug: 31220513]
+- Implement a probe cleanup mechanism for providers.
+  (Eugene Loh) [Orabug: 31220519]
+- Implement the exit() action. [Orabug: 31220520]
+- Implement the flowindent option. [Orabug: 31220522]
+- Implement the -xdisasm=n option. [Orabug: 31220524]
+- Implement linking of precompiled BPF functions. [Orabug: 31220525]
+- Fix memory leaks and minor uninitialized-data bugs. [Orabug: 31220517]
+- Fix load-before-store BPF verifier errors for local variables.
+  [Orabug: 31220527]
+- Fix post-increment code generation. [Orabug: 31220528]
+- Fix register clobbering and implement register spilling. [Orabug: 31187562]
+- Add error and drop tag verification for tests. [Orabug: 31220521]
+- Various code cleanup and errata release preparation. [Orabug; 31220516]
+- Ensure that bpf_dlib.o is installed.
+- Fix the creation of FBT return probes.
+
 * Tue Mar 10 2020 Kris Van Hees <kris.van.hees at oracle.com> - 2.0.0-0.8
 - Sync with latest development code.
 - Implement perf event output buffer management and processing.
-- 
2.26.0




More information about the DTrace-devel mailing list