[DTrace-devel] [oracle/dtrace-utils] c51554: Fix annotation for dt_get_tvar()
Kris Van Hees
noreply at github.com
Tue Feb 8 21:38:27 UTC 2022
Branch: refs/heads/dev
Home: https://github.com/oracle/dtrace-utils
Commit: c51554270b4930189d3fa0e856f738969d60dceb
https://github.com/oracle/dtrace-utils/commit/c51554270b4930189d3fa0e856f738969d60dceb
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-07 (Mon, 07 Feb 2022)
Changed paths:
M libdtrace/dt_dis.c
A test/unittest/variables/tvar/tst.dis-ann.r
A test/unittest/variables/tvar/tst.dis-ann.sh
Log Message:
-----------
Fix annotation for dt_get_tvar()
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: 5c25b725f6f6f25700e8d0fe82009751542d0d73
https://github.com/oracle/dtrace-utils/commit/5c25b725f6f6f25700e8d0fe82009751542d0d73
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M libdtrace/dt_cg.c
A test/unittest/actions/trace/tst.array.d
A test/unittest/actions/trace/tst.array.r
A test/unittest/actions/trace/tst.array.r.p
A test/unittest/actions/trace/tst.struct-1-byte.d
A test/unittest/actions/trace/tst.struct-1-byte.r
A test/unittest/actions/trace/tst.struct.d
A test/unittest/actions/trace/tst.struct.r
A test/unittest/actions/trace/tst.union.d
A test/unittest/actions/trace/tst.union.r
Log Message:
-----------
Add support for array/struct/union to trace()
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: 7f40cd2b649aa4a2fd1c4905eb62e2ee8da1db1e
https://github.com/oracle/dtrace-utils/commit/7f40cd2b649aa4a2fd1c4905eb62e2ee8da1db1e
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M bpf/get_bvar.c
M bpf/probe_error.c
M bpf/probe_error.h
M bpf/speculation.c
Log Message:
-----------
Pass dctx as a const struct to BPF functions.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: e04248378e3a7183ae3cb1c18eb508857d3008ec
https://github.com/oracle/dtrace-utils/commit/e04248378e3a7183ae3cb1c18eb508857d3008ec
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M bpf/strlen.c
M bpf/substr.S
M include/bpf-lib.h
M libdtrace/dt_bpf.c
M libdtrace/dt_cg.c
A test/unittest/funcs/strlen/err.D_PROTO_ARG.non_string.d
A test/unittest/funcs/strlen/err.D_PROTO_LEN.missing_arg.d
A test/unittest/funcs/strlen/err.D_PROTO_LEN.too_many_args.d
A test/unittest/funcs/strlen/tst.basic.d
A test/unittest/funcs/strlen/tst.basic.r
A test/unittest/funcs/strlen/tst.capped-sizw.d
A test/unittest/funcs/strlen/tst.empty.d
A test/unittest/funcs/strlen/tst.null.d
A test/unittest/funcs/strlen/tst.null.r
R test/unittest/strlen/tst.strlen1.d
Log Message:
-----------
Implement strlen() based on bpf_probe_read_str()
The bpf_probe_read_str() BPF helper returns the number of characters
it copies (incl. the terminating NUL byte), up to the maximum number
passed as one of the arguments. This can be used to determine the
length of a string.
This new strlen() implementation makes use of the unused space at the
end of the string constant table, which is sized so that it can
contain the largest string possible.
The implementation of substr() is adjusted to reflect this change as
well. Rather than calling the strlen() function, it uses the BPF
helper directly.
This patch also introduces tests for the strlen() function.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: f0b8973a16f7fe5a2b882ce8ab1de60799cc2655
https://github.com/oracle/dtrace-utils/commit/f0b8973a16f7fe5a2b882ce8ab1de60799cc2655
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M libdtrace/dt_cg.c
M libdtrace/dt_consume.c
M libdtrace/dt_printf.c
M test/unittest/codegen/tst.str_const_length.r
M test/unittest/codegen/tst.str_data_size.r
M test/unittest/codegen/tst.str_store_var.r
M test/unittest/funcs/strjoin/tst.strjoin-bordercases.r
M test/unittest/funcs/strjoin/tst.strjoin-capped-size-2.r
M test/unittest/funcs/strjoin/tst.strjoin-capped-size-3.r
M test/unittest/funcs/strjoin/tst.strjoin-capped-size.r
M test/unittest/funcs/substr/tst.substr-stored-len.r
M test/unittest/funcs/substr/tst.substr-strsize.r
Log Message:
-----------
Store strings in the trace output buffer without length prefixes
There is no need to store string length prefixes in the output buffer.
This change affects various tests that explicitly compare the raw bytes
in the output buffer for strings.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: ddf1f4991c4b92892a4344b07439309f78bd1faf
https://github.com/oracle/dtrace-utils/commit/ddf1f4991c4b92892a4344b07439309f78bd1faf
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M libdtrace/dt_bpf.c
Log Message:
-----------
Perform string constant truncation without using string length prefix
The string constant truncation processing was reading the string length
from the 2-byte prefix. The new approach uses strlen() on the string
data.
This patch prepares for the removal of the string length prefix support.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: 29e3f4222a3bd2b4f675d8df345353d52ff8dc2e
https://github.com/oracle/dtrace-utils/commit/29e3f4222a3bd2b4f675d8df345353d52ff8dc2e
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M bpf/basename.S
M bpf/dirname.S
M bpf/index.S
M bpf/lltostr.S
M bpf/rindex.S
M bpf/strchr.S
M bpf/strcmp.S
M bpf/strjoin.S
M bpf/strlen.c
M bpf/strrchr.S
M bpf/strtok.S
M bpf/substr.S
M libdtrace/dt_bpf.c
M libdtrace/dt_cg.c
M libdtrace/dt_dctx.h
M libdtrace/dt_ident.c
M libdtrace/dt_string.c
M libdtrace/dt_string.h
M libdtrace/dt_strtab.c
M libdtrace/dt_subr.c
M test/unittest/variables/gvar/tst.undecl-offset.r
Log Message:
-----------
Remove the string length prefix
This is the final stage of discontinuing the string length prefix code.
It removes the actual storage allocation for the 2-byte string length
prefix, and updates all code that adjusted pointers because of the
prefix. The dt_strlen_store() function is gone.
This change affects the offset calculation for variab;e storage when a
string is involved. Test results for gvar/tst.undecl-offset.r are
updated to reflect this.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Commit: c165d73e7d12e04fcdf65a093de4ba98aa7f17b5
https://github.com/oracle/dtrace-utils/commit/c165d73e7d12e04fcdf65a093de4ba98aa7f17b5
Author: Kris Van Hees <kris.van.hees at oracle.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M bpf/get_bvar.c
M libdtrace/dt_bpf.c
M libdtrace/dt_state.h
M test/demo/builtin/execname.d
M test/unittest/variables/bvar/tst.execname.d
A test/unittest/variables/bvar/tst.execname.r
Log Message:
-----------
Add support for built-in variable execname
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Nick Alcock <nick.alcock at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
Compare: https://github.com/oracle/dtrace-utils/compare/e85272726650...c165d73e7d12
More information about the DTrace-devel
mailing list