systemtap:serhei/bpf_asm

Last commit made on 2018-10-24
Get this branch:
git clone -b serhei/bpf_asm https://git.launchpad.net/systemtap

Branch merges

Branch information

Name:
serhei/bpf_asm
Repository:
lp:systemtap

Recent commits

110f739... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #8 :: bpf-asm.exp driver and more testcases

4d68a52... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #7 :: fixed kernel_string() tapset and testcase

* tapset/bpf/conversions.stp (kernel_string_n): enable error path.
* tapset/logging.stp (abort): note future work.
* testsuite/systemtap.bpf/bpf_tests/context_vars3.stp: new testcase.

da6c4ae... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #6 :: other call functions ({s}printf and tapset)

Only very limited support for tapset functions (restricted to exit()
for now) due to the difficulty of resolving symbols after the semantic
pass is already completed. Could address this in the future.

* bpf_internal.h (program::use_tmp_space): check for overflow.
(globals::session): new field for systemtap_session (used by function lookup).

* bpf_translate.cxx (asm_stmt::has_jmp_target): new field.
(operator <<): printing rules for alloc, call.
(bpf_unparser::parse_asm_stmt): remove printf/error, BUGFIX alloc, call, string literal.
Also calculate has_jmp_target in the resulting stmt.
(bpf_unparser::visit_embeddedcode): handle printf, sprintf and exit().
Also fix the way fallthrough fields are populated to avoid spurious extra jump.
(bpf_unparser::emit_functioncall): new function. Factors out non-staptree code.
(bpf_unparser::visit_functioncall): use new emit_functioncall().
(print_format_add_tag): new function on std::string. Factors out string operations.
(bpf_unparser::emit_print_format): new function. Factors out non-staptree code.
(bpf_unparser::visit_print_format): use new emit_print_format().
(translate_bpf_pass): store session in globals.

d4550e6... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #5 :: basic kernel_string() implementation

9ae5786... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #4 :: alloc and (helper) call operations

f12e7d8... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #3 :: additional assembly test cases

2881d9d... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #2 :: testcases (no driver so far)

db79925... by Serhei Makarov <email address hidden>

stapbpf assembler WIP #1 :: basic parser and control flow

c1a444d... by William Cohen

Add some Tcl examples.

2756c12... by William Cohen

Correct to use @hist_log in description.