summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/Tapset_Reference_Guide/README33
-rw-r--r--dwflpp.cxx2
-rw-r--r--tapsets.cxx4
-rw-r--r--testsuite/systemtap.base/flightrec3.exp18
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
diff --git a/dwflpp.cxx b/dwflpp.cxx
index 74294384..e01c6974 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -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*"}