diff options
-rw-r--r-- | doc/Tapset_Reference_Guide/README | 33 | ||||
-rw-r--r-- | dwflpp.cxx | 2 | ||||
-rw-r--r-- | tapsets.cxx | 4 | ||||
-rw-r--r-- | testsuite/systemtap.base/flightrec3.exp | 18 |
4 files changed, 35 insertions, 22 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/tapsets.cxx b/tapsets.cxx index 843b6017..15dbeb81 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -3459,7 +3459,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); @@ -3499,7 +3499,7 @@ 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); diff --git a/testsuite/systemtap.base/flightrec3.exp b/testsuite/systemtap.base/flightrec3.exp index 5b9d8253..20a65c50 100644 --- a/testsuite/systemtap.base/flightrec3.exp +++ b/testsuite/systemtap.base/flightrec3.exp @@ -6,7 +6,7 @@ system "rm -f flightlog.out*" set pid 0 # check -S option with bulk(percpu file) mode -spawn stap -F -o flightlog.out -S 1,3 -b $srcdir/$subdir/$test.stp +catch {spawn stap -F -o flightlog.out -S 1,3 -b $srcdir/$subdir/$test.stp} expect { -timeout 240 -re {([0-9]+)\r\n} { @@ -26,9 +26,9 @@ exec sleep 4 array set cpus {} set scnt 0 # wait for log files -exec kill -STOP $pid +catch {exec kill -STOP $pid} exec sleep 1 -eval spawn stat -c \"%n %s\" [glob flightlog.out_cpu*] +catch {eval spawn stat -c \"%n %s\" [glob -nocomplain flightlog.out_cpu*]} expect { -timeout 100 -re {flightlog.out_cpu([0-9]+).[0-9]+ ([0-9]+)\r\n} { @@ -41,10 +41,10 @@ expect { timeout { fail "$test (logfile timeout)"} } wait -exec kill -CONT $pid +catch {exec kill -CONT $pid} exec sleep 3 -exec kill -STOP $pid -eval spawn stat -c \"%n %s\" [glob flightlog.out_cpu*] +catch {exec kill -STOP $pid} +catch {eval spawn stat -c \"%n %s\" [glob -nocomplain flightlog.out_cpu*]} expect { -timeout 100 -re {flightlog.out_cpu([0-9]+).[0-9]+ ([0-9]+)\r\n} { @@ -57,7 +57,7 @@ expect { timeout { fail "$test (logfile timeout)"} } wait -exec kill -CONT $pid +catch {exec kill -CONT $pid} # check logfile number set cnt 0 foreach e [array names cpus] { @@ -72,8 +72,8 @@ if {$scnt == $cnt} { } else { fail "$test (log file size ($scnt != $cnt))" } -exec kill -TERM $pid +catch {exec kill -TERM $pid} # wait for exiting... exec sleep 1 -system "rm -f flightlog.out*" +catch {system "rm -f flightlog.out*"} |