diff options
-rw-r--r-- | doc/Tapset_Reference_Guide/README | 33 | ||||
-rw-r--r-- | dwflpp.cxx | 2 | ||||
-rw-r--r-- | runtime/runtime.h | 1 | ||||
-rw-r--r-- | runtime/transport/transport.c | 1 | ||||
-rw-r--r-- | tapsets.cxx | 15 | ||||
-rw-r--r-- | testsuite/systemtap.base/static_uprobes.exp | 13 |
6 files changed, 38 insertions, 27 deletions
diff --git a/doc/Tapset_Reference_Guide/README b/doc/Tapset_Reference_Guide/README index 1f27abe7..4ef2333a 100644 --- a/doc/Tapset_Reference_Guide/README +++ b/doc/Tapset_Reference_Guide/README @@ -1,17 +1,30 @@ -This is an automated source build of the SystemTap_Tapset_Reference Guide, -used to build it in Publican. +The Publican Tapset Reference Guide is build from files generated +during the build of SystemTap when it is configured with +"--enable-refdocs". -To build the DocBook XML source (required by Publican), run: +Assuming that SystemTap was built in /home/wcohen/systemtap/build, the +file needed to generate the Publican Tapset Reference Guide would be +/home/wcohen/systemtap/build/doc/SystemTap_Tapset_Reference/tapsets.xml. - bash publicanize.sh +To generate the required DocBook XML file of the tapsets.xml file and build +the Publican Tapset Reference Guide from this directory: -This will copy and clean the XML source of SystemTap_Tapset_Reference -created by kernel-doc. You can now build it in pdf, html, etc using -Publican. +export BUILD=/home/wcohen/systemtap/build +./publicanize.sh -i=$BUILD/doc/SystemTap_Tapset_Reference/tapsets.xml -The main source of the Language Reference Guide is: +This will copy and clean the XML source of SystemTap_Tapset_Reference +created by kernel-doc and place the resulting file in +./en-US/Tapset_Reference_Guide.xml. You can now build it in pdf, html, +etc using Publican. To make the Publican pdf file: - ../SystemTap_Tapset_Reference/tapsets.xml +make pdf-en-US + +The resulting output file will be +./tmp/en-US/pdf/Tapset_Reference_Guide.pdf + +The main source of the Language Reference Guide is in the build directory: + + $BUILD/doc/SystemTap_Tapset_Reference/tapsets.xml This main source is generated by kernel-doc when you run 'make' in the main git tree. The tapset documentation inside is collected from all @@ -32,4 +45,4 @@ context.stp, context-symbols, and all the other tapset files are located in: All tapset documentation should be done inside their respective tapset files. For more information about this project, refer to: - http://sourceware.org/systemtap/wiki/ProjectTapsetReferenceGuide
\ No newline at end of file + http://sourceware.org/systemtap/wiki/ProjectTapsetReferenceGuide @@ -2366,7 +2366,7 @@ dwflpp::relocate_address(Dwarf_Addr addr, { blacklist_section = get_blacklist_section(addr); reloc_section = ".dynamic"; - reloc_addr = addr; + reloc_addr += module_bias; // PR10273 } } else diff --git a/runtime/runtime.h b/runtime/runtime.h index c2e927cc..9881acb7 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -88,6 +88,7 @@ static struct #include "copy.c" #include "regs.c" #include "regs-ia64.c" +#include "time.c" #include "task_finder.c" diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c index 1ab49ae2..318c62f1 100644 --- a/runtime/transport/transport.c +++ b/runtime/transport/transport.c @@ -17,7 +17,6 @@ #include <linux/delay.h> #include <linux/namei.h> #include "transport.h" -#include "time.c" #include "../mempool.c" #include "symbols.c" diff --git a/tapsets.cxx b/tapsets.cxx index 0efb9fbc..2c5e11bc 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -3464,7 +3464,7 @@ dwarf_builder::build(systemtap_session & sess, << hex << probe_table.probe_arg << dec << endl; // Now expand the local variables in the probe body - sdt_var_expanding_visitor svv (module_name, probe_table.mark_name, + sdt_var_expanding_visitor svv (module_name, probe_table.probe_name, probe_table.probe_arg, false); new_base->body = svv.require (new_base->body); @@ -3487,9 +3487,9 @@ dwarf_builder::build(systemtap_session & sess, do { set<string>::iterator pb; - pb = probes_handled.find(probe_table.mark_name); + pb = probes_handled.find(probe_table.probe_name); if (pb == probes_handled.end()) - probes_handled.insert (probe_table.mark_name); + probes_handled.insert (probe_table.probe_name); else return; @@ -3504,11 +3504,18 @@ dwarf_builder::build(systemtap_session & sess, probe_table.convert_probe(new_base); // Expand the local variables in the probe body - sdt_var_expanding_visitor svv (module_name, probe_table.mark_name, + sdt_var_expanding_visitor svv (module_name, probe_table.probe_name, probe_table.probe_arg, true); new_base->body = svv.require (new_base->body); probe_table.convert_location(new_base, new_location); derive_probes(sess, new_base, finished_results); + if (sess.listing_mode) + { + finished_results.back()->locations[0]->components[0]->functor = TOK_FUNCTION; + finished_results.back()->locations[0]->components[0]->arg = new literal_string (module_name); + finished_results.back()->locations[0]->components[1]->functor = TOK_MARK; + finished_results.back()->locations[0]->components[1]->arg = new literal_string (probe_table.probe_name.c_str()); + } } while (probe_table.get_next_probe()); return; diff --git a/testsuite/systemtap.base/static_uprobes.exp b/testsuite/systemtap.base/static_uprobes.exp index 41dc3ec0..6a597646 100644 --- a/testsuite/systemtap.base/static_uprobes.exp +++ b/testsuite/systemtap.base/static_uprobes.exp @@ -165,12 +165,7 @@ wait if {$ok == 5} { pass "$test $pbtype_mssg" } else { - if { $pbtype_mssg == "uprobe" } { - fail "$test ($ok) $pbtype_mssg" - } else { - # probe fires multiple times - xfail "$test ($ok) $pbtype_mssg" - } + fail "$test ($ok) $pbtype_mssg" } # Test passing various C types to .mark probes @@ -225,11 +220,7 @@ expect { if { $ok == 45 } { pass "$test wildcard $pbtype_mssg" } else { - if { $pbtype_mssg == "uprobe" } { - fail "$test wildcard ($ok) $pbtype_mssg" - } else { - xfail "$test wildcard ($ok) $pbtype_mssg" - } + fail "$test wildcard ($ok) $pbtype_mssg" } # for {set i 0} |