[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