From fc4a80b88ef35892b1727b683e6ccf18c67a6877 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 16 Jun 2009 11:31:22 -0700 Subject: Use the expanded value for sdt $$name * tapsets.cxx (dwarf_builder::build): pass probe_table.probe_name into the sdt_var_expander instead of .mark_name, so wildcards are resolved. --- tapsets.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- cgit From e5964acd5d705b3ed7699c504b8317014f2b7e45 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 17 Jun 2009 16:42:59 +0200 Subject: PR10273. uprobes fail to insert on prelinked library. * dwflpp.cxx (relocate_address): For .dynamic section addresses adjust for module bias. --- dwflpp.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 -- cgit From 15c3da37215544f08ec8d4231b527dcad2f73426 Mon Sep 17 00:00:00 2001 From: William Cohen Date: Wed, 17 Jun 2009 11:44:13 -0400 Subject: Specify how to generate Publican document with separate build directory. --- doc/Tapset_Reference_Guide/README | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 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 -- cgit From 44b73c9d467fe0383d33dce5f1217e023f3b203b Mon Sep 17 00:00:00 2001 From: David Smith Date: Wed, 17 Jun 2009 15:22:01 -0500 Subject: Improved error handling. * testsuite/systemtap.base/flightrec3.exp: Improved error handling. --- testsuite/systemtap.base/flightrec3.exp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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*"} -- cgit