Skip to content

Commit

Permalink
Update NEWS and spec file for errata release 2.0.0-1.7
Browse files Browse the repository at this point in the history
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
  • Loading branch information
kvanhees committed Sep 10, 2021
1 parent accc708 commit a0c70c5
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 1 deletion.
73 changes: 73 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,76 @@
2.0.0-1.7 (Sep 9th, 2021)
-------------------------

Seventh errata of the standalone userspace implementation.

** This is a pre-release with limited functionality. **

New features:

- Argumsnts passed for SDT probes can now be retrieved using the arg0 through
arg9 builtin variables.

- A -xbpflog option has been added to request the BPF verifier log to be
generated and displayed regardles sf the outcome of trying to load BPF
programs. The option can also be set with a D option pragma.

- The strjoin() subroutine has been implemented.

- The substr() subroutine has been implemented.

Bugfixes:

- Trampoline generation has been corrected to ensure that the correct probe
context is set during code generation.

- The type alignment handling code used to determine the alilgnment size for a
given datatype was treating enums as integers, which is incorrect. Proper
alignment determination is now done, avoiding libctf-related failures.

- The handling of ERROR probe invocations within the BEGIN probe execution has
been fixed.

- The size of string data in the trace output buffer has been corrected to
acocunt for the 2-byte length prefix and the terminating NUL byte.

- The data size for value copy operations has been corrected. It was
determined solely on the data size of the source data, even if the
destination was smaller. It now uses the lesser of the two sizes.

Internal changes:

- Provider implemenations now use standard functions to clear oe copy the CPU
register state at the time a probe fires.

- New macros set_upper_bound() and set_lower_bound() are available for use in
C-to-BPF source code. They are used to provide hints about value and range
boundaries for the BPF verifier.

- Precopiled BPF code can now use the STRSZ BPF symbol to represent the
maximum string size.

- The precompiled dt_memcpy() function has been replaced with a call to the
bpf_probe_read() BPF helper function.

- Support has been added for the compilation of BPF assembler source files
(.S) into object files (.o). This feature makes uses of the GCC BPF cross
compiler.

- The generic scratch memory area is now accessible through a pointer to its
base address. This pointer can be found in dctx->mem. The stack trace
implementation has been updated to make use of this area. This scratch
memory area is also used to provide temporary string space to be used in
string manipulation functions.

- The length prefix for strings has been changed from a variable-length
integer to a 2-byte fixed width integer. This was made necessay due to
BPF verifier limitations. This is an interim solution while a more
permanent reworking of the string handling code is dveloped.

Testsuite changes:

Known problems:

2.0.0-1.6 (Jun 18th, 2021)
--------------------------

Expand Down
14 changes: 13 additions & 1 deletion dtrace.spec
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Conflicts: systemtap-sdt-devel
Provides: systemtap-sdt-devel
Summary: DTrace user interface.
Version: 2.0.0
Release: 1.6%{?dist}
Release: 1.7%{?dist}
Source: dtrace-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 aarch64
Expand Down Expand Up @@ -227,6 +227,18 @@ fi
%{_libdir}/dtrace/testsuite

%changelog
* Thu Sep 9 2021 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.7
- Implement argument retrieval for SDT probes.
- Introduce 'bpflog' runtime option to request BPF verifier log.
- Implementation improvements for memry copy operations.
- Fix type alignment handling for enums.
- Fix ERROR-in-BEGIN probe handling.
- Transition from variable-length string size to 2-byte string size.
- Fix size of string data in the trace output buffer.
- Fix data size for value copy.
- Add support for strjoin() subroutine.
- Add support for substr() subroutine.

* Fri Jun 18 2021 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.6
- Implement built-in variables: probeprov, probemod, probefunc, probename.
- Implement built-in variables: caller, stackdepth, ucaller, ustackdepth,
Expand Down

0 comments on commit a0c70c5

Please sign in to comment.