2.0.0-1.10 (Apr 26th, 2022)
Tenth errata of the standalone userspace implementation.
This is a pre-release with limited functionality.
New features:
- 
                        
                        The trace() action supports array, struct, and union values. 
- 
                        
                        The execname built-in variables is now implemented. 
- 
                        
                        The inet_ntoa() subroutine has been implemented. 
- 
                        
                        The progenyof() subroutine has been implemented. 
- 
                        
                        The getmajor() and getminor() subroutines have been implemented. 
- 
                        
                        The mutex_owned(), mutex_owner(), mutex_type_adaptive(), mutex_type_spin(), rw_read_held(), rw_write_held(), and rw_iswriter() have been implemented. 
- 
                        
                        The alloca() and bcopy() subroutines have been implemented. 
- 
                        
                        Associative arrays have been implemented. They are supported for both global and TLS variables. 
- 
                        
                        Disassembler annotations have been added for associative arrays, register spills, and string constants. 
- 
                        
                        The translators have been updated to support up to kernel series 5.16. 
- 
                        
                        Faults will now report the PC (program counter) where the fault is reported. 
Bugfixes:
- 
                        
                        Register allocation leaks were fixed. 
- 
                        
                        NULL pointer verification has been optimized to avoid checking the same pointer more than once. 
- 
                        
                        NULL pointers handling in ternary conditionals are now supported. 
- 
                        
                        Casting of pointers to integers has been fixed. 
- 
                        
                        Negative (immediate) values in signed conditionals are now printed correctly. 
- 
                        
                        Disassembler annotations for TLS variables have been corrected. 
- 
                        
                        The DIFO strtab handling has been reworked to fix multiple bugs. 
Internal changes:
- 
                        
                        The strlen() subroutine is now implemented using the bpf_probe_read_str() BPF helper. 
- 
                        
                        Strings are no longer stored using a length prefix. 
- 
                        
                        BPF functions that are implemented in C or assembly code are no longer statically listed in the DTrace source code. Their existence is determined at runtime when the dlibs are loaded. 
- 
                        
                        All load-time constants are now handled by the relocation mechanism. 
- 
                        
                        New function dt_dis_insn() can be used by developers to disassemble a single instruction.. 
- 
                        
                        The implementation of pre and post arithmetic has been optimized. 
- 
                        
                        Relocation support for the 'add immediate' instructions has been added. 
- 
                        
                        The substr() subroutine has been optimized to reduce register pressure. 
Testsuite changes:
- 
                        
                        Various tests have been moved from XFAIL to PASS status in response to the implementation of new features and in view of some bug fixes. 
- 
                        
                        Various tests were improved.