diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 9459 |
1 files changed, 0 insertions, 9459 deletions
diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 315265a7..00000000 --- a/ChangeLog +++ /dev/null @@ -1,9459 +0,0 @@ -2009-02-19 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (dump_unwindsyms): Ignore symbols before module - base address. - -2009-02-18 Frank Ch. Eigler <fche@elastic.org> - - PR9719. - * elaborate.cxx (typeresolution_info::mismatch): Initialize - some locals so optimized code works too. - -2009-02-18 Rajan Arora <rarora@redhat.com> - - * testuite/semko/typemismatch.stp: New test. - -2009-02-18 Rajan Arora <rarora@redhat.com> - - * elaborate.cxx (typeresolution_info::mismatch): Generate semantic - error for the token where type was resolved and add to chain - * elaborate.h (struct typeresolution_info: public visitor): New - members 'resolved_toks' and 'printed_toks' - -2009-02-18 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwarf_builder::build): If not found in .probes, use .label - * includes/sys/sdt.h (STAP_PROBE): Always create .probes section. - * dtrace: Use basename of -s if no -o given. - -2009-02-18 Josh Stone <jistone@redhat.com> - - * loc2c.c (c_translate_argument): Create a dummy location to start - the address computation from a function parameter. - * translate.cxx (base_query, dwarf_query): Move some members from - base_query to dwarf_query, so the former can be more generic. Also - add a constructor using a module string instead of probe parameters. - (dwflpp::query_modules, dwflpp::iterate_over_modules): Use a generic - base_query instead of a dwarf_query. - (dwarf_cast_query): New query to scan the modules and CUs for a - matching type definition, and then produce a code fragment to deref - each component. - (dwarf_cast_expanding_visitor): Tries to replace @casts with a function - call to the result of a dwarf_cast_query. - (dwflpp::declaration_resolve): Search by name instead of by die. - (dwflpp::translate_components): Use the incoming vardie as the first - type die, so we don't assume that attr_mem has a DW_AT_type already. - (dwflpp::literal_stmt_for_pointer): Construct a C fragment that starts - with a pointer argument (THIS->pointer) and dereferences each member - component from there. - (*_derived_probe::register_patterns): Take a session parameter instead - of a match_node, so we can manipulate session-wide data. - (dwarf_derived_probe::register_patterns): Add a session code filter to - expand @casts with a dwarf_cast_expanding_visitor. - -2009-02-18 Josh Stone <jistone@redhat.com> - - * session.h (systemtap_session): Add a vector of update_visitors - that will act as filters for all probes and functions. - * elaborate.cxx (semantic_pass_symbols): Run probes and functions - through each registered code filter. - -2009-02-18 Josh Stone <jistone@redhat.com> - - * tapsets.cxx (dwarf_var_expanding_visitor::visit_cast_op): While - expanding dwarf probes, provide the current module as a default to - @casts without a module name. - -2009-02-18 Josh Stone <jistone@redhat.com> - - * staptree.h (struct cast_op, visitor::visit_cast_op): New. - * staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's): - Incorporate cast_op into the basic tree operations. - * parse.cxx (parser::parse_symbol): Parse @cast operator with an - expression operand, type string, and optional module string. - * translate.cxx (c_unparser::visit_cast_op): Error out if a @cast - survives to translation. - * elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a - @cast survives to type resolution. - (symbol_fetcher::visit_cast_op): treat @casts as a symbol target - (void_statement_reducer::visit_cast_op): unused @casts can be discarded, - but the operand should still be evaluated. - -2009-02-17 Frank Ch. Eigler <fche@elastic.org> - - * AUTHORS: Regenerated with ... - * AUTHORS.sh: New script. - -2009-02-17 Frank Ch. Eigler <fche@elastic.org> - - * configury throughout: autoreconf -f -i'd. - -2009-02-17 Frank Ch. Eigler <fche@elastic.org> - - * includes/sys/sdt.h: Change all parameter register constraints to - "X" from "g". - -2009-02-17 Mark Wielaard <mjw@redhat.com> - - * Makefile.am (oldinclude_HEADERS): Set to includes/sys/sdt.h. - (check): Explicitly set PWD and SYSTEMTAP_INCLUDES. - * includes/sys/sdt.h: Moved from runtime dir. - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * configure: Likewise. - -2009-02-17 Elliott Baron <ebaron@redhat.com> - - PR 9716 - * configure.ac: Replace pkgconfig tests for NSS/NSPR includes/libs - with AC macros. - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * configure: Likewise. - * doc/Makefile.in: Likewise. - * doc/SystemTap_Tapset_Reference/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - * testsuite/aclocal.m4: Likewise. - * testsuite/configure: Likewise. - -2009-02-16 Mark Wielaard <mjw@redhat.com> - - PR 9850 - * dtrace: Use a list of arguments for call. - -2009-02-16 Mark Wielaard <mjw@redhat.com> - - PR 9851 - * dtrace: Use os.path.splitext instead of string.replace. - -2009-02-16 Mark Wielaard <mjw@redhat.com> - - PR 9849 - * dtrace: Use mkstemp. - -2009-02-15 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwflpp::iterate_over_cu_labels): Handle missing DW_AT_low_pc - * (dwarf_builder::build): Handle c++ via .probe, c via .label. - -2009-02-13 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (dump_unwindsyms): Use \n instead of endl throughout - for writing to the generated .c/.h files. - -2009-02-12 David Smith <dsmith@redhat.com> - - * tapsets.cxx (procfs_derived_probe_group::emit_module_decls): - Moved inclusion of procfs.c here from runtime/transport.c - -2009-02-12 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (dump_unwindsyms): Use "\n" instead of endl in - inner loops. - -2009-02-11 Dave Brolley <brolley@redhat.com> - - * stap-client: s/jar/zip/. - (unpack_response): Server response is now a .zip file. No longer - signed, so no longer needs verification. Move Contents of server - response down one directory level. META-INF no longer required to be - present in the server response. - * stap-server: s/jar/zip/. - (create_response): Don't sign the server response. Use zip instead. - * stap-server-connect.c: s/jar/zip/. - -2009-02-10 Josh Stone <jistone@redhat.com> - - * staptree.h (update_visitor::require): Add a clearok parameter for - optimizing traversers to signal that they're ready for NULL back. - * elaborate.cxx (dead_assignment_remover): Convert into an - update_visitor and remove its now-redundant traversal methods. - * elaborate.cxx (dead_stmtexpr_remover): Convert to an update_visitor. - * elaborate.cxx (void_statement_reducer): Convert to an update_visitor. - -2009-02-10 Josh Stone <jistone@redhat.com> - - * tapsets.cxx (var_expanding_copy_visitor): This struct becomes - var_expanding_visitor and inherits from update_visitor instead of - deep_copy_visitor. Each of the probe-type variants of this are also no - longer copiers. - -2009-02-10 Josh Stone <jistone@redhat.com> - - * staptree.h (update_visitor): A new visitor to make it easier to - rewrite parts of a probe or function without making a full copy. - * staptree.cxx (update_visitor::*): Each child is recursed with a - require() call, and then the parent returns itself with provide(). - * staptree.h (deep_copy_visitor): Inherit from update_visitor to get - the recursive descent while updating nodes. - * staptree.cxx (deep_copy_visitor::*): Use the implicit copy - constructors to copy all fields, then defer to update_visitor for the - recursion. Referents are still cleared from the copies of symbols and - function calls. - -2009-02-10 Josh Stone <jistone@redhat.com> - - * staptree.h (require, provide): Simplify stack operations with less - pointer magic, and move to be deep_copy_visitor members. - * staptree.h (deep_copy_visitor::deep_copy): Templatize - * staptree.cxx, tapsets.cxx: Refactor require/provide callers - -2009-02-10 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (find_variable_and_frame_base): Tolerate -1 return - value from dwarf_getscope_die. - -2009-02-07 Josh Stone <jistone@redhat.com> - - * buildrun.cxx (compile_pass): Pull in autoconf options in a header - of #defines rather than -DXXX, and make that header a build dependency. - * buildrun.cxx (output_autoconf): New function to consolidate the - computation of each autoconf test. - * cache.cxx (add_to_cache, get_from_cache, clean_cache): Start treating - the stapconf header as a first-class cached item. - * cache.h: Move definitions of things only needed in cache.cxx - * hash.cxx (find_stapconf_hash): Generate stapconf_name as a .h now. - * main.cxx (main): Default the stapconf_name based on getpid(). - -2009-02-06 Josh Stone <jistone@redhat.com> - - * hash.cxx (find_hash): Compute a separate script-independent hash - for caching autoconf values, saved in session.stapconf_path. - * buildrun.cxx (compile_pass): Tweak the Makefile to read/save - the autoconf values in the cache directory - -2009-02-06 Frank Ch. Eigler <fche@elastic.org> - - * buildrun.cxx: Add STAPCONF_PROCFS_OWNER test. - -2009-02-05 Will Cohen <wcohen@redhat.com> - - PR9756. - * scripts/kernel-doc: Correct productname tag. - -2009-02-05 Frank Ch. Eigler <fche@elastic.org> - - PR9740/9816? - * buildrun.cxx: Add STAPCONF_VM_AREA autoconf test. - -2009-02-04 Mark Wielaard <mjw@redhat.com> - - * NEWS: process().mark(), sys/sdt.h and dtrace compatibility script. - -2009-02-04 Mark Wielaard <mjw@redhat.com> - - * NEWS: Mention run-stap. - -2009-02-04 Mark Wielaard <mjw@redhat.com> - - * NEWS: Add Beginner Guide. - -2009-02-04 Mark Wielaard <mjw@redhat.com> - - * NEWS: Mention SystemTap Tapset Reference Manual. - -2009-02-03 Frank Ch. Eigler <fche@elastic.org> - - PR6961/9810. - * tapsets.cxx (common_probe_entryfn_prologue): Revert. - * translate.cxx (emit_common_header): Revert. - -2009-02-03 Dave Brolley <brolley@redhat.com> - - * NEWS: Update status of client/server. - * stap-server.8.in: Add description of client/server certificate - management and tools. - * stap-server (initialization): Ensure that all server response - files are created. - (check_request): Parse the client's command line here. - (check_comnpatibility): Don't require client/server platform match - for phases 1-4. - (fatal,error): Correct quoting typos. - stap-server.8.in: Add SSL information. - * stap-stop-server: Use 'ps -e' to list processes. - * stap-add-server-cert: The directory name now refers to the database - directly, not the directory below it. - * stap-serverd: Specify the full database directory name when calling - stap-add-server-cert. - -2009-02-03 Mark Wielaard <mjw@redhat.com> - - * elaborate.cxx (match_node::find_and_build): Disambiguate error - messages. - -2009-02-02 Stan Cox <scox@redhat.com> - - * NEWS, stapprobes.5.in: Add process.label. - -2009-02-01 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwflpp::iterate_over_cu_labels): New. - (query_cu): Use it. - (dwarf_derived_probe::register_patterns): Register .label. - -2009-02-01 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (dump_unwindsyms): Process extra_offset with - dwfl_module_relocate_address. - -2009-01-30 Masami Hiramatsu <mhiramat@redhat.com> - - PR6936 - * configure.ac (AC_CONFIG_FILES): Add initscript/systemtap.in. - * configure: Regenerated. - * systemtap.spec: Add systemtap-initscript subpackage. - -2009-01-30 Dave Brolley <brolley@redhat.com> - - * Makefile.am (install-scripts): New target. Set exec_prefix and - sysconfdir properly in installed scripts. - * stap-find-or-start-server: Set exec_prefix and sysconfdir for use - from the source tree by dejagnu. Leave a hook to modify them when - installed. - * stap-start-server: Likewise. - * stap-client (configuration): Likewise. Check for the existence of the - default certificate databases before checking their security. - (parse_options): Issue fatal error if no usable certificate databases - found or specified. - (check_db,check_db_file): Check that the database and files are owned - by the user running the client. - (fatal): Print "ERROR:" tag here. Adjust all callers. - * stap-server (initialization): Set exec_prefix and sysconfdir for use - from the source tree by dejagnu. Leave a hook to modify them when - installed. Check that all specified files and directories exist. - (fatal): Print "ERROR:" tag here. Adjust all callers. - (error): Likewise. - * stap-serverd (initialization): Set exec_prefix and sysconfdir for use - from the source tree by dejagnu. Leave a hook to modify them when - installed. - (check_db,check_db_file,check_db_cert): Check that the database and - files are owned by the user running the server. - (fatal): Print "ERROR:" tag here. Adjust all callers. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - -2009-01-30 Frank Ch. Eigler <fche@elastic.org> - - * git_version.sh: Don't print GIT_BRANCH into GIT_MESSAGE, as it - is local, and "(no branch)" confuses other stuff. The SHA1 commit - ID is enough. - -2009-01-29 Dave Brolley <brolley@redhat.com> - - * stap-client (initialization): Set our_host_name and our_domain_name - here. - (find_and_connect_to_server): Correct the extraction of a host name - looked up by ip address. Replace 'localhost' with the actual host name. - (choose_server): Don't set our_host_name and our_domain_name here. - Don't change the name of our host to 'localhost' here. Check that - ahavi has provided the host name. Don't check that avahi has provided - the ip address. Pass the host name to send_receive. - (send_receive): Change the name of our host to 'localhost' here. - (check_db): Add recommended (but not fatal) access permission checks. - (check_db_file): Likewise. - * stap-gen-server-cert: Create the certificate database and the - certificate file with the recommended access permissions. - * stap-server (initialization): Call check_db to check the security of - the chosen certificate database. - (check_db,check_db_file,check_cert_file,warning): New functions. - -2009-01-28 Dave Brolley <brolley@redhat.com> - - * stap-client (initialization): Call check_db to check the security of - the default certificate databases. Initialize find_all. - (parse_options): Handle the --server option. - (process_server): New function. - (process_ssl): Call check_db to check the security of the specified - certificate database. - (find_and_connect_to_server): Create the server's .jar file - here. Create the connection log file here. Process $specified_servers - if present. Use $find_all on stap-find-servers. Issue server connection - error here ... - (choose_server): ... not here. - (send_receive): Don't create the server's .jar file here. - Always check the local certificate databases. Echo the - name of the database used to successfully authenticate the - server. - (check_db,check_db_file): New functions. - (warning): New function. - * stap-add-server-cert: Create the client database with 755 permissions. - * stap-client-connect.c (sslerr.h): #include it. - (errWarn): Handle SEC_ERROR_BAD_DATABASE and SSL_ERROR_BAD_CERT_DOMAIN. - (do_connect): Don't call PR_GetHostByName or PR_EnumerateHostEnt. - (client_main): No longer takes 'hostName' argument. Update all callers. - -2009-01-26 Mark Wielaard <mjw@redhat.com> - - * dtrace: Handle (absense of) -o argument correctly. - -2009-01-26 Stan Cox <scox@redhat.com> - - * tapsets.cxx (find_variable_and_frame_base): Allow for disjoint - pc and scope_die. - * runtime/sdt.h: Change label prefix. - -2009-01-26 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Check for version.h.in before installing. - * configure: Regenerated. - -2009-01-23 Frank Ch. Eigler <fche@elastic.org> - - PR9768. - * tapsets.cxx (translate_location, translate_components, - translate_final_fetch_or_store, literal_stmt_for_*): Don't pass - superfluous module_bias down to loc2c code, since it's been - subtracted out already. - -2009-01-23 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Use install-pkgincludeHEADERS for elfutils to only - get include-elfutils/elfutils/version.h. And explicitly exit if - configuring elfutils fails. - * configure: Regenerated. - * .gitignore: Add build-elfutils, include-elfutils, lib-elfutils - and stamp-elfutils. - -2009-01-23 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Use make -k install-data for elfutils. - * configure: Regenerated. - -2009-01-22 David Smith <dsmith@redhat.com> - - * systemtap.spec: Added 'nss-devel' buildreq so that the 'client' - subpackage could be built correctly. Added file-based buildreq - for xmlto's pdf support, which works on f8, f9, f9, and rhel5. - - * configure.ac: Fixed typo. - * configure: Regenerated. - -2009-01-22 Stan Cox <scox@redhat.com> - - * dtrace: Rewritten to handle dtrace -h -G - * runtime/sdt.h: New .probes layout. Make labels unique, args unused. - * tapsets.cxx (dwarf_builder::build): New .probes layout. - Don't reset location->components[0]. - -2009-01-21 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Create PIECFLAGS and PIECXXFLAGS, like PIELDFLAGS. - Don't duplicate -pie in PIELDFLAGS. - * configure: Regenerated. - * Makefile.am: Add @PIECFLAGS@ and @PIECXXFLAGS@ to executable - flags. - * Makefile.in: Regenerated. - -2009-01-21 Mark Wielaard <mjw@redhat.com> - - * Makefile.am (distclean-local): Remove build-elfutils, - include-elfutils and lib-elfutils here, not in clean-local. - * Makefile.in: Regenerated. - * configure.ac: Only muck with CPPFLAGS and include-elfutils when - actually building with bundled elfutils. - * configure: Regenerated. - -2009-01-21 Mark Wielaard <mjw@redhat.com> - - * Makefile.am (clean-local): Remove build-elfutils, include-elfutils - and lib-elfutils. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - * configure: Regenerated. - -2009-01-20 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (dwarf..:visit_target_symbol): Print more data - for failed $$vars fields to help explain printed "var=?". - -2009-01-20 Frank Ch. Eigler <fche@elastic.org> - - * dwarf_wrappers.cxx (dwfl_assert): Tolerate rc==-1, for which - dwfl_errmsg(-1)=>NULL. - -2009-01-19 Dave Brolley <brolley@redhat.com> - - * stap-serverd (initialization): Call stap-add-server-cert only if - it has been installed. - -2009-01-13 Stan Cox <scox@redhat.com> - - * systemtap.spec (sdt-devel): New subpackage. - * Makefile.am (oldincludedir): New. - (oldinclude_HEADERS): New. - (bin_SCRIPTS): Add dtrace - * Makefile.in: Regenerated. - * runtime/sduprobes.h: Renamed to sdt.h - -2009-01-13 Dave Brolley <brolley@redhat.com> - - * stap-find-or-start-server,stap-start-server,stap-serverd,stap-server: - Ensure we call other systemtap tools from the installed location. - * stap-client: Likewise. Also, use SYSTEMTAP_STAPRUN if it is set. - -2009-01-13 Dave Brolley <brolley@redhat.com> - - * stap-add-server-cert: Failure to make the client database readable - is now only a warning. Directory argument now refers to the location - of the 'client' directory. - * stap-gen-server-cert: Ensure that the certificate is readable by - all. Warn if unsuccessful. Don't add the certificate to the local - client-side database. - * stap-serverd: Call stap-add-server-cert after stap-gen-server-cert. - -2009-01-11 Wenji Huang <wenji.huang@oracle.com> - - * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Fix too - large number on 32-bits machines. - (uprobe_derived_probe_group::emit_module_decls): Ditto. - -2009-01-11 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Add prefix as STAP_PREFIX for config.h. - * config.in: Regenerated. - * configure: Regenerated. - -2009-01-09 Elliott Baron <ebaron@redhat.com> - - * stap.1.in: Added %M info. - -2009-01-09 Dave Brolley <brolley@redhat.com> - - * Makefile.am (stamp-ssl): Removed. - (ssl/server/stap-server.cert): Removed. - (install-data-local): Don't install $(builddir)/ssl. - (stap-add-server-cert): Create database directory if it does not - exist. Ensure the database is readable by others. - * stap-client (initialization): Initialize local_ssl_dbs and - public_ssl_dbs. Don't initialize ssl_db. - (parse_options): Concatenate additional_local_ssl_dbs with - local_ssl_dbs. - (process_ssl): Build up additional_local_ssl_dbs in the order - specified on the command line. - (choose_server): Set server for non-local domains. Print - $tmpdir_client/connect to stderr if we can't connect. - (send_receive): Try connecting to the given server using all of the - databases in $local_ssl_dbs and $public_ssl_dbs. Keep log in - $tmpdir_client/connect. - (interrupt): Use SIGTERM to kill stap-client-connect. - * stap-client-connect.c (prerror.h,secerror.h): #include them. - (errWarn): Try to the the error text from NSPR. Handle specific errors - manually otherwise. - (handle_connection): Stop processing on write error of the local file. - (do_connect): Cleanup on error. Call SSL_ForceHandshake to catch - authentication errors here. - * stap-gen-server-cert: Don't create the client's database directory. - * stap-server: Redirect the output of signtool to /dev/null. - * stap-server-connect.c (handle_connect): Call SSL_ForceHandshake to catch - authentication errors here. Clean up temp files on error. - (accept_connection): Don't close the socket on error. - stap-serverd (initialization): Print a message if the given socket is busy. - Search for a local certificate database. Create and initialize one if not - found. - (listen): Don't discard stderr fomr stap-server-connect. - * stap-start-server: Check for existence of local certificate database as - evidence that the server is listening. - * Makefile.in: Regenerated. - -2009-01-08 William Cohen <wcohen@redhat.com> - - * configure.ac: Check for xmlto that generates pdf. - * configure: Regenerated. - -2009-01-07 William Cohen <wcohen@redhat.com> - - * configure.ac: Add --enable-refdocs configure option and - set check for xmlto - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * configure: Likewise. - -2009-01-07 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Warn when not building docs because tools not found. - * configure: Regenerated. - -2009-01-07 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Add --enable-server configure option and - set BUILD_SERVER appropriately. - * Makefile.am (man_MANS, bin_PROGRAMS, bin_SCRIPTS): Only add - stap-server and friends when BUILD_SERVER set.A - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * configure: Likewise. - -2009-01-06 Frank Ch. Eigler <fche@elastic.org> - - PR9699. - * buildrun.cxx (compile_pass): Add $(LINUXINCLUDES) to autoconf - trial builds. Add new autoconf test for task_struct uid->cred switch. - -2009-01-06 Dave Brolley <brolley@redhat.com> - - * systemtap.spec (stap-client): Add stap-add-server-cert, - stap-client-connect. - (stap-server): Add stap-server-connect. - -2009-01-05 Dave Brolley <brolley@redhat.com> - - PR9702 - * stap-gen-server-cert: Try mkpasswd, apg and then user_enter_password - when generating the password for the server certificate/key - database. - (user_enter_password): New function. - -2008-12-31 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (dump_unwindsyms): Adapt to elfutils build-id - bug that was fixed in 0.138. - * configure.ac: Look for elfutils/version.h. - * config.in, configure: Regenerated. - -2008-12-30 Dave Brolley <brolley@redhat.com> - - PR9692 - From Eugeniy Meshcheryakov <eugen@debian.org> - * Makefile.am (stap_client_connect_CFLAGS): Use $(nss_CFLAGS) and - $(nspr_CFLAGS). - (stap_server_connect_CFLAGS): Likewise. - * configure.ac: Use PKG_CHECK_MODULES to configure nss and nspr. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - * configure: Regenerated. - -2008-12-30 Dave Brolley <brolley@redhat.com> - - * Makefile.am (install-data-local): Test for existence of $(builddir)/ssl - before installing it. - * Makefile.in: Regenerated. - -2008-12-29 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (install-data, uninstall-data): Use - $(DESTDIR)$(sysconfdir) instead of hard-coded /etc paths. - -2008-12-26 Dave Brolley <brolley@redhat.com> - - * Makefile.am (stamp-ssl): Disable automatic building of this target. - * Makefile.in: Regenerated. - -2008-12-24 Dave Brolley <brolley@redhat.com> - - * stap-client (netcat): Removed. - (initialization): Initialize ssl_db. - (parse_options): Handle the --ssl option. - (process_ssl): New function. - (send_request): Removed. - (receive_response): Removed. - (unpack_response): Use signtool to verify the contents of the - server's response against a local copy of the server's - certificate. - (find_and_connect_to_server): Make sure the server is referred to - as localhost if it is running on the local host. Call send_receive - in order to contact the server and perform the transaction. - (connect_to_server): Removed. - (disconnect_from_server): Removed. - (send_receive): New function. - (process_response): Work in $tmpdir_server. - (terminate, interrupt): Kill any running stap-client-connect. - * stap-find-or-start-server: Pass arguments to stap-start-server. - * stap-start-server: Pass arguments to stap-serverd. - * stap-server (port): Removed. - (netcat): Removed. - (receive_request): Removed. - (unpack_request): Use unzip. - (package_response): Use signtool to sign the response into a .jar - archive. - (send_response): Removed. - * stap-serverd (netcat): Removed. - (port1): Removed. - (initialize): Don't call recursively. Use a loop to select a port. - (listen): Call stap-server-connect. - (process_request): Removed. - (terminate): Kill any running stap-server-connect job. - * systemtap.spec: client and server sub packages require nss and nss-tools, - and no longer require nc or net-tools. - * Makefile.am (bin_PROGRAMS): Add stap-client-connect and - stap-server-connect. - (bin_SCRIPTS): Add stap-gen-server-cert. - (stap_client_connect_LDFLAGS, stap_server_connect_LDFLAGS): New. - (stamp-ssl): New target. - (ssl/server/stap-server.cert): New target. - (stap_client_connect_*): New. - (stap_server_connect_*): New. - (install-data-local): Install /etc/systemtap/ssl. - (uninstall-local): Remove /etc/systemtap. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - -2008-12-22 Masami Hiramatsu <mhiramat@redhat.com> - - PR7090 - * buildrun.cxx (compile_pass): Use flags macro to expand KBUILD_CFLAGS - for support kernels built with O= option. - -2008-12-21 Will Cohen <wcohen@redhat.com> - - * systemtap.spec: Add generations of tapset reference manual material. - -2008-12-21 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwflpp::die_has_pc): Don't abort if dwarf_ranges fails. - (dwflpp::find_variable_and_frame_base): A pc requires dwarf_nscopes - -2008-12-19 Elliott Baron <ebaron@redhat.com> - - PR3668 - * elaborate.cxx: Handling for %M. - * runtime/vsprintf.c: Likewise. - * staptree.cxx: Likewise. - * translate.cxx: Likewise. - * staptree.h: Added %M converter, conv_memory_hex, to enum - -2008-12-16 Roland McGrath <roland@redhat.com> - - * systemtap.spec (Requires): Add kernel-devel, is correct virtual - provide in kernel-*-devel rpms. - (with_sqlite): Typo fix in default defn check. - [%{with_sqlite}] (Requires): Remove. BuildRequires causes the correct - automatic dependency. - -2008-12-16 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwarf_builder::build): Consider alignment when - fetching .probes values. Convert .mark to .statement(0x) instead - of .statement(foo.c:N) - -2008-12-11 Dave Brolley <brolley@redhat.com> - - PR7087 - * stap-client: Don't use -d on netcat. Redirect from /dev/null instead. - * stap-server: Likewise. - * stap-serverd: Likewise. - -2008-12-09 Frank Ch. Eigler <fche@elastic.org> - - PR6961 - * tapsets.cxx (common_probe_entryfn_prologue): Add new "fakeregs" - param. Set context regs_buffer with plausible dummy values if needed. - Update callers. - (mark_builder::build): Add kernel to unwindsyms_modules. - * translate.cxx (emit_common_header): Add pt_regs regs_buffer field - to context. - -2008-12-09 Dave Brolley <brolley@redhat.com> - - PR7087 - * stap-client: Use netcat or nc, whichever is available. - * stap-server: Likewise. - * stap-serverd: Likewise. - -2008-12-08 David Smith <dsmith@redhat.com> - - RHBZ 474390 - * tapsets.cxx (dwflpp::cu_function_caching_callback): Handles NULL - return from dwarf_diename(). - (dwflpp::print_locals): Ditto. - (dwflpp::find_variable_and_frame_base): Ditto. - (dwflpp::literal_stmt_for_return): Ditto. - (dwarf_builder::build): Ditto. - -2008-12-08 Frank Ch. Eigler <fche@elastic.org> - - PR7062 - * buildrun.cxx (uprobes_home): Make local, based on - session.runtime_path. - -2008-12-05 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx, translate.cxx: Set default elfutils debuginfo_path - to start with "+", to enable debuginfo<->stripped checksum checking. - * stap.1.in: Note this. - -2008-12-05 Kent Sebastian <ksebasti@redhat.com> - - PR7051 - * doc/langref.tex, elaborate.cxx, runtime/vsprintf.c, - stap.1.in, staptree.cxx, staptree.h, translate.cxx: - Remove printf %n directive and references to it in documentation. - -2008-12-03 Roland McGrath <roland@redhat.com> - - PR6925 - * run-stap.in: New file. - * configure.ac: Generate run-stap from it. - * configure: Regenerated. - - PR7063 - * buildrun.cxx (run_pass): Obey SYSTEMTAP_STAPRUN environment variable. - -2008-12-03 Frank Ch. Eigler <fche@elastic.org> - - PR6925 - * configure.ac: Suggest --prefix if configured without. - * configure: Regenerated. - -2008-12-03 Frank Ch. Eigler <fche@elastic.org> - - PR 5982: rename -B to -r - * main.cxx (main): Treat -r REV and -r /PATH as complimentary. - Imply -p4 if target mismatches host versions. - (usage): Document -r more. - * hash.cxx (find_hash): Add in the kernel_build_tree. - * buildrun.cxx (compile_pass, kernel_built_uprobes): Simplify - logic. - * tapsets.cxx (setup_kernel, setup_user): Ditto. - * translate.cxx (emit_symbol_data): Ditto. - * stap.1.in: Document -r /PATH. - -2008-12-01 Rajan Arora <rarora@redhat.com> - - PR 5892: Add -B and parameterize all occurences of /lib/modules/... - * buildrun.cxx (compile_pass, kernel_built_uprobes): Audit - mentions of /lib/modules/... with path to kernel_build_tree - provided by -B. - * tapsets.cxx (setup_kernel, setup_user, mark_builder::build): - Likewise. - * translate.cxx (emit_symbol_data): Likewise. - * session.h (struct systemtap_session): New member kernel_build_tree. - * main.cxx (main): Add case for 'B' and attempt to fetch Version for - the kernel build tree using include/config/kernel.release in build - path, remove -r REV implies -p4 logic altogether. - - -2008-11-29 Frank Ch. Eigler <fche@elastic.org> - - Warnings cleanup. - * buildrun.cxx (verify_uprobes_uptodate, make_uprobes): Simplify - messages. - * cache.cxx (add_to_cache, clean_cache): Reset s.use_cache upon - failure. - * hash.cxx (find_hash): Ditto. - * main.cxx (main): Simplify/conditionalize warning messages. Save - module to $cwd if last_pass==4 but cache encountered errors. - -2008-11-28 Frank Ch. Eigler <fche@elastic.org> - - PR 6965. - * translate.cxx (dump_unwindsyms): Tweak symbols for - STP_NEED_{SYMBOL,UNWIND}_DATA - -2008-11-28 Elliott Baron <ebaron@redhat.com> - - PR 6965. - * translate.cxx (dump_unwindsyms): Output #ifdef for - symbol table. - -2008-11-28 Frank Ch. Eigler <fche@elastic.org> - - PR 5376. - * parse.cxx (parse::parse_probe): Prevent alias names from - being marked "?" or "!". - -2008-11-28 Frank Ch. Eigler <fche@elastic.org> - - PR 6477. - * elaborate.cxx (print_error_source, print_warning): Tolerate - NULL token. - -2008-11-27 Frank Ch. Eigler <fche@elastic.org> - - PR 7036 - From Wenji Huang <wenji.huang@oracle.com>: - * elaborate.cxx (print_error): Don't suppress if listings_mode. - * main.cxx (main): Suppress "pass N failed" if listings_mode. - -2008-11-26 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwarf_builder::build): Support debuginfo static uprobes. - -2008-11-26 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_exit): Add another synchronize_sched. - -2008-11-26 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Advise users to try '--vp ...' after a pass error. - -2008-11-26 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_exit): Call synchronize_sched during - module shutdown if it's available. - * buildrun.cxx (compile_pass): Test for it. - -2008-11-25 Frank Ch. Eigler <fche@elastic.org> - - PR 7046. - * tapsets.cxx (uprobe*emit_module_decls): Rewrite the generated - stap_uprobe_change function, to hold mutex for a shorter period - and to produce more meaningful KERN_INFO traces if -DDEBUG_UPROBES. - (uprobe*emit_module_exit): Switch to KERN_INFO also. - -2008-11-25 Will Cohen <wcohen@redhat.com> - - * scripts/kernel-doc: Clean up SystemTap function formatting. - -2008-11-25 Will Cohen <wcohen@redhat.com> - - * scripts/kernel-doc: Make executable. - -2008-11-25 Will Cohen <wcohen@redhat.com> - - * scripts/kernel-doc: New. - * configure.ac: Add doc/SystemTap_Tapset_Reference/Makefile. - * configure, doc/SystemTap_Tapset_Reference/Makefile.in: Regenerate. - -2008-11-25 Mark Wielaard <mjw@redhat.com> - - * tapsets.cxx (dwarf_derived_probe_group::emit_module_exit): - struct stap_dwarf_probe field is called pp, not pp_name. - -2008-11-24 Kent Sebastian <ksebasti@redhat.com> - - PR 4978. - * stap.1.in (PRINTING): printf directives, more examples. - -2008-11-22 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (MAXUPROBES): Tweak its definition. Use it - consistently. - * stap.1.in (MAXUPROBES): Document it. - -2008-11-22 Frank Ch. Eigler <fche@elastic.org> - - PR 5689. - * tapsets.cxx (dwarf_derived_probe_group::emit_module_exit,decls): - Print kprobe missed stats if STP_TIMING. - (uprobe_derived_probe_group::emit_module_exit,declx): Track - uprobe missed stats if STP_TIMING> - * translate.cxx (emit_module_exit): Print uprobe missed stats. - -2008-11-21 Frank Ch. Eigler <fche@elastic.org> - - PR 5689. - * tapsets.cxx (common_probe_entryfn_{pro,epi}logue): - Track separate skip counts for low-stack and reentrancy conditions. - * translate.cxx (emit_common_header): Declare counters. - (emit_module_exit): Print them. - (emit_unlocks): Don't bother redundantly testing skipped_count. - -2008-11-21 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_exit): Perform shutdown probe - synchronization after all unregistrations and end/error probe - runs. - -2008-11-20 Frank Ch. Eigler <fche@elastic.org> - - PR 5689 - * translate.cxx (emit_global, emit_global_init, emit_module_exit, - emit_locks): Track & print global.s_VAR_lock_skip_count. - -2008-11-20 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Correct thinko in --vp option with <5 arg chars. - -2008-11-18 Jim Keniston <jkenisto@us.ibm.com> - - PR 6879 - * runtime/uprobes2/uprobes_x86.c: Allow probing of instructions - with fs: and gs: prefixes. Apply fix from runtime/uprobes. - -2008-11-18 Frank Ch. Eigler <fche@elastic.org> - - PR6925. - * main.cxx (usage,main): Process new --vp option. - * session.h (perpass_verbose): New field. - -2008-11-11 Stan Cox <scox@redhat.com> - - * Makefile.am (pkglib_LIBRARIES): New. - * Makefile.in: Regenerated - * stapprobes.5.in (process.mark): New. - * tapsets.cxx (register_patterns): Add process.mark. - (dwarf_builder::build): Likewise. - -2008-11-14 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (common_probe_entryfn_{pro,epi}logue): - Set "interruptible" to default true, thus disabling local_irq_* - calls for all current probe point types. - -2008-11-13 Wenji Huang <wenji.huang@oracle.com> - - PR 7000 - * translate.cxx (c_unparser::visit_print_format): Add checking bound - for actual parameters. - -2008-11-13 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec, configure.ac: Bump version to 0.8. - * configure.in: Regenerated. - -2008-11-11 Przemysław Pawełczyk <przemyslaw@pawelczyk.it> - Mark Wielaard <mjw@redhat.com> - - * tapsets.cxx (find_variable_and_frame_base): Add scope name to - semantic error messages if available. - -2008-11-06 Wenji Huang <wenji.huang@oracle.com> - - PR 6998 - * tapsets.cxx (profile_builder): Add default kernel symbols to profile. - -2008-11-06 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwflpp::module_address_to_global): - ET_EXEC needs no further relocation. - -2008-11-04 Frank Ch. Eigler <fche@elastic.org> - - From Masami Hiramatsu <mhiramat@redhat.com>, PR 6028. - * tapsets.cxx (dwarf_derived_probe): New field access_vars, for - tracking result from .. - (dwarf_var_expanding_copy_visitor): Collect a flag about whether - any $expressions appear within. - (emit_probe_local_init): ... and run ia64 bspcache() on if true. - -2008-11-03 Jim Keniston <jkenisto@us.ibm.com> - - Add a version of uprobes that works with the 2.6.27 version of utrace. - * runtime/uprobes2/uprobes.[ch]: uprobes2 - * runtime/uprobes2/uprobes_x86.[ch]: Simplified to use post-2.6.24 - unified pt_regs names ("ax" rather than "eax" or "rax"). - * runtime/uprobes2/uprobes_arch.[ch]: Pull in the arch-specific - file from the appropriate directory. - * runtime/uprobes/uprobes.[ch]: #ifdef added to pull in file from - ../uprobes2 if we're running the new utrace. - * runtime/uprobes/Makefile: Updated - * Makefile.am: Install runtime/uprobes2/*. - * Makefile.in: Regenerated - * buildrun.cxx: Always copy uprobes's Module.symvers into the - directory where stap builds the script .ko. - -2008-11-03 Mark Wielaard <mjw@redhat.com> - - * tapsets.cxx (literal_stmt_for_return): Add function name and file - to semantic error messages. - -2008-10-29 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (dump_unwindsyms): Work on CONFIG_RELOCATABLE=n - kernels, or for whatever other scenarios dwfl_module_relocation_info - might return NULL. - -2008-10-27 Josh Stone <joshua.i.stone@intel.com> - - * translate.cxx (c_unparser::visit_print_format): Fix the argument passed - for printf %c formats. - -2008-10-27 Rajan Arora <rarora@redhat.com> - - * elaborate.cxx (add_global_var_display): Added check for globals - from tapsets. - -2008-10-24 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (hrtimer_derived_probe_group::emit_module_decls): Support - the new abstractions around the hrtimer expires field. The field is - renamed starting in 2.6.28-rc1, but accessor functions are provided for - general access. - * buildrun.cxx (compile_pass): Added autoconf-hrtimer-getset-expires.c - -2008-10-24 Jim Keniston <jkenisto@us.ibm.com> - - PR6946 - * tapsets.cxx: Allow probing of 32-bit ppc apps with - a ppc64 kernel. - -2008-10-20 Elliott Baron <ebaron@redhat.com> - - PR6851 - * elaborate.cxx (typeresolution_info::visit_print_format): add case - for conv_char. - * staptree.cxx (print_format::components_to_string): add case for - conv_char. - (print_format::string_to_components): add parsing for "c" conversion. - * staptree.h (enum conversion_type): add conv_char member. - -2008-10-17 Frank Ch. Eigler <fche@elastic.org> - - * stap-report: Add kernel config extracts. Generate to stdout. - * Makefile.am (bin_SCRIPTS): Install it. - * systemtap.spec: Package it. - * Makefile.in: Regenerated. - -2008-10-17 Jim Keniston <jkenisto@us.ibm.com> - - PR6923 - * runtime/autoconf-oneachcpu-retry.c: Compiles successfully on - old kernels. - -2008-10-14 Kent Sebastian <ksebasti@redhat.com> - - * cache.cxx (cache_clean): Minor changes, mainly stylistic. - * session.h: remove cache_max member var (used only in cache.cxx now) - -2008-10-10 Frank Ch. Eigler <fche@elastic.org> - - PR6749 - * tapsets.cxx (dwarf_derived_probe_group::emit_module_init): Tolerate - failed register_*kprobe during initialization; warn instead. - -2008-10-10 Kent Sebastian <ksebasti@redhat.com> - - * cache.cxx (cache_clean): New group of functions implementing cache - size limiting. - -2008-10-09 Rajan Arora <rarora@redhat.com> - - * elaborate.cxx (systemtap_session::print_error_source): New. - (systemtap_session::print_error): Call it. - (systemtap_session::print_warning): Likewise. - * parse.cxx (parser::print_error): Likewise. - * session.h (struct systemtap_session::print_error_source): - Declare it. - * parse.cxx (lexer::get_input_contents): New. - (parser::parse): Call it. - (lexer::set_current_file): New. - (parser::parse): Call it. - * parse.h (class lexer::get_input_contents): Declare it. - (class lexer::set_current_file): Declare it. - (class lexer): New member current_file. - (class lexer): Update input_contents from vector<char> - to std::string. - (struct source_loc): New member stap_file. - * staptree.h (struct stapfile): New member file_contents. - -2008-10-09 Stan Cox <scox@redhat.com> - - * tapsets.cxx (query_cu): Fix typo. - -2008-10-06 Wenji Huang <wenji.huang@oracle.com> - - PR 4886 - * translate.cxx (dump_unwindsyms): Extract build-id from debuginfo. - (emit_module_init): Check build-id if able. - -2008-10-03 Jim Keniston <jkenisto@us.ibm.com> - - PR 6850 - * runtime/uprobes/uprobes.c: When a probed process forks with - uretprobe_instances outstanding, create a uprobe_process and - uprobe_task for the child, and clone the uretprobe_instances. - This requires us to allow the SSOL vma to be copied on fork. - * testsuite/systemtap.base/bz6850.{exp,c,stp}: new test case - -2008-09-30 Mark Wielaard <mjw@redhat.com> - - * tapsets.cxx (literal_stmt_for_local): Check if alternatives can be - provided after calling dwarf_formref_die. - (literal_stmt_for_return): Likewise. - -2008-09-26 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (add_global_var_display): Implicitly sort arrays. - -2008-09-26 Frank Ch. Eigler <fche@elastic.org> - - PR 6916 - * elaborate.cxx (systemtap_session::print_error): Fix - duplicate elimination in face of token compression. - * tapsets.cxx (literal_stmt_for_local, literal_stmt_for_return): - Change error message to fit old pattern. - -2008-09-26 Frank Ch. Eigler <fche@elastic.org> - - BZ 6829: avoid calling unregister_uprobe() when responding - to a task-finder exec/exit callback, as uprobes likes to - clean such things up by itself. - -2008-09-12 Prerna Saxena <prerna@linux.vnet.ibm.com> - - BZ 3016 : Handling members of anonymous structs/unions - * tapsets.cxx (translate_components, print_members) : enable - translator to identify members of anonymous structs / unions. - * testsuite/semok/thirtythree.stp : New test-case. - * NEWS : Modify translator code to identify members of anonymous - structs/unions. - -2008-09-24 Mark Wielaard <mjw@redhat.com> - - * dwarf_wrappers.cxx (dwfl_assert(string,bool)): Call - dwfl_assert(string,int), not dwarf_assert(). - -2008-09-12 Dave Brolley <brolley@redhat.com> - - * stap-client (staprun_PATH): Ensure that $first_stap is not empty. - * stap-start-server: Use 'ps' to check that the server started. - -2008-09-12 Masami Hiramatsu <mhiramat@redhat.com> - - BZ 6028 - * tapsets.cxx (dwarf_derived_probe::emit_probe_local_init): Use REG_IP - instead of pp to check probe address. - -2008-09-12 Frank Ch. Eigler <fche@elastic.org> - - GCC 4.4 (var-tracking) build-compatilibity. - * parse.h: #include <stdint.h>. - * tapsets.cxx (utrace_...::visit_target_symbol_arg): Use - lex_cast<int>(foo) instead of atoi(foo.c_str()) for simpler - c++ object lifetime. - * Makefile.am (staprun_CFLAGS, stapio_CFLAGS): Add - -fno-strict-aliasing, since that code is too casual with pointers. - * Makefile.in: Regenerated. - -2008-09-12 Dave Brolley <brolley@redhat.com> - - PR6881. - From Eugeniy Meshcheryakov eugen@debian.org: - * stap-server.8.in: Correct formatting problems. - -2008-09-12 Dave Brolley <brolley@redhat.com> - - * stap-find-servers (match_server): Don't read past the start of the - next server description. Don't use '^' at the start of the regexp - on calls to 'expr'. - * systemtap.spec: client and server sub packages require avahi. - -2008-09-12 Wenji Huang <wenji.huang@oracle.com> - - * elaborate.cxx (add_global_var_display): Don't, in listing mode. - -2008-09-11 Frank Ch. Eigler <fche@elastic.org> - - PR 6871. - * tapsets.cxx (query_cu): Search for prologues for user-space probes. - (query_func_info): Use prologue_end if available; silently back down - to entrypc probing if needed. - -2008-09-10 Josh Stone <joshua.i.stone@intel.com> - - * main.cxx (printscript): Ensure no variables are printed in probe lists - unless -L was specified. - -2008-09-10 Frank Ch. Eigler <fche@elastic.org> - - * parse.cxx, parse.h: Rewrite scanner lookahead data structure - to a simple ~fixed vector. - -2008-09-10 Frank Ch. Eigler <fche@elastic.org> - - PR6876: translator speedup for many $vars - * session.h (systemtap_session.functions): vector->map. - * coveragedb.cxx, elaborate.cxx, main.cxx, tapsets.cxx, translate.cxx: - Adapt all users. - -2008-09-10 Mark Wielaard <mjw@redhat.com> - - * configure.ac: Check for dwarf_getelf. elfutils 0.126+. - Use AM_PROG_MKDIR_P instead of AC_PROG_MKDIR_P. - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * config.in: Likewise. - * configure: Likewise. - -2008-09-10 Dave Brolley <brolley@redhat.com> - - * systemtap.spec: Remove avahi-tools and nc from dependencies - for systemtap and systemtap-runtime packages. Remove stap-* - scripts from %files of systemtap and systemtap-runtime - packages. Make sure systemattap-runtime only picks up - staprun.8* man pages. Create new systemtap-client and - systemtap-server packages. - * NEWS: Add network security warning for the systemtap - client/server. - -2008-09-10 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (dump_unwindsyms): Rename module_base output to - dwarf_module_base. - -2008-09-10 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (dump_unwindsyms): Output module_base. - -2008-09-10 Mark Wielaard <mjw@redhat.com> - - * translate.cxx (get_unwind_data): New function. - (dump_unwindsyms): Output unwind data. - -2008-09-09 Masami Hiramatsu <mhiramat@redhat.com> - - * stapprobes.5.in: Added a description about $return. - * NEWS: Ditto. - * tapsets.cxx (utrace_var_expanding_copy_visitor): Change - visit_target_symbol_syscall() to visit_target_symbol_context(). - (utrace_var_expanding_copy_visitor::visit_target_symbol_context): - Handle not only $syscall but also $return. - (utrace_var_expanding_copy_visitor::visit_target_symbol): Ditto. - -2008-09-09 Masami Hiramatsu <mhiramat@redhat.com> - - * stapprobes.5.in: Added a description about $argN. - * NEWS: Ditto. - * tapsets.cxx (utrace_var_expanding_copy_visitor): Added - visit_target_symbol_arg() and visit_target_symbol_syscall(). - (visit_target_symbol_arg): New function for handling $argN. - (visit_target_symbol_syscall): New function for handling $syscall. - (visit_target_symbol): Use visit_target_symbol_arg() and - visit_target_symbol_syscall(). - -2008-09-09 Masami Hiramatsu <mhiramat@redhat.com> - - * stapprobes.5.in : Added a line for $name context variable. - * translate.cxx (c_unparser::emit_common_header): Add marker_name and - marker_format fields to context. - * tapsets.cxx (common_probe_entryfn_prologue) : Ditto. - (mark_derived_probe_group::emit_module_decls) : Ditto. - (mark_var_expanding_copy_visitor) : change visit_target_symbol_format - to visit_target_symbol_context. - (mark_var_expanding_copy_visitor::visit_target_symbol_context): handle - not only $format but also $name. - (mark_var_expanding_copy_visitor::visit_target_symbol): Ditto. - -2008-09-07 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (build_blacklist): Add some x86 raw port-io spots. - -2008-09-06 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (utrace_derived_probe ctor): Handle - process.* probe point reverse engineering (pid- and path-less). - -2008-09-05 Stan Cox <scox@redhat.com> - - * elaborate.cxx (add_global_var_display): Handle scalar statistics. - -2008-09-05 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, Makefile.am, systemtap.spec: Don't look for libcap. - * configure, Makefile.in: Regenerated. - -2008-09-05 Wenji Huang <wenji.huang@oracle.com> - - PR 6731. - * main.cxx (usage,main,printscript): Improve listing mode with "-L". - * stap.1.in, stapex.5.in: Document it. - -2008-09-04 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (usage): Remove some dwarfless items. - -2008-09-02 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (uprobe..emit_module_init): Leave dying-uprobe - loop as early as possible. - -2008-09-02 Stan Cox <scox@redhat.com> - - * elaborate.cxx (add_global_var_display): Simplify token use. - -2008-09-02 Frank Ch. Eigler <fche@elastic.org> - - PR4225. - * tapsets.cxx (generated stap_uprobe_change): Fix major thinko that - falsely triggered a slew of uprobe_unregister's for each plain - register. - (uprobe_derived_probe_group::emit_module_init): Add code to generate - printk's for uprobe activities, if -DDEBUG_UPROBES. - -2008-09-02 Frank Ch. Eigler <fche@elastic.org> - - PR4225 merge. - * tapsets.cxx: Add prototype user-space probing support. Collateral - damage breaks symbol-table-only (dwarfless) probing, PR6864. - (setup_user, setup_kernel): Split & reorganized. - (class uprobe_derived_probe): Nearly all new code. - (base_query): Add "has_module" and "has_process" flags. - (dwarf_builder): Add "user_dw" map. - (dwarf_query::add_probe_point): Use ".dynamic" pseudo-reloc-base for - ET_DYN modules; ".absolute" for ET_EXEC. - (register_patterns): Register process(...) uprobe-based probes. - (task_finder_derived_probe_group::create_session_group): Let runtime - code assert CONFIG_UTRACE. - (base_query ctor, dwarf_builder::build, itrace_builder, - utrace_derived_probe): Use find_executable() to resolve FOO path in - process("FOO"). - (utrace_derived_probe ctor): Reverse-engineer probe point. - * main.cxx (main): Don't override $PATH etc. - * util.cxx (find_executable): Reorganize, simplify, canonicalize. - * util.h, hash.cxx: Corresponding changes. - -2008-09-02 Wenji Huang <wenji.huang@oracle.com> - - * tapsets.cxx (query_func_info): Disable prologue searching in - no-dwarf testing. - -2008-09-01 Stan Cox <scox@redhat.com> - - * elaborate.cxx (add_global_var_display): Also handle statistics. - -2008-08-29 Dave Brolley <brolley@redhat.com> - - * stap-server.8.in: New man page. - * NEWS: Announce the availability of the client/server. - * Makefile.am (man_MANS): Add stap-server.8. - * configure.ac (AC_CONFIG_FILE): Add stap-server.8. - * Makefile.in: Regenerated. - * configure: Regenerated. - -2008-08-29 Stan Cox <scox@redhat.com> - - * elaborate.cxx (add_global_var_display): Repopulate symbol/type info. - -2008-08-29 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Pushed quiesce logic down into the task_finder layer. - (utrace_derived_probe_group::emit_module_decls): Removed quiesce - handler routines. Syscall probe handler detaches if systemtap - state isn't correct. - -2008-08-29 Wenji Huang <wenji.huang@oracle.com> - - * main.cxx (printscript): Print variable name and type for listing mode. - -2008-08-28 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (add_global_var_display): Render array indexes - in [key,key,key] vs. [key][key][key] form. - -2008-08-27 Stan Cox <scox@redhat.com> - - * elaborate.cxx (add_global_var_display): New. - (semantic_pass): Call it. - (dead_assignment_remover::visit_assignment): Don't remove written - but unread global variables. - * NEWS, stap.1.in: Document - -2008-08-26 David Smith <dsmith@redhat.com> - - * buildrun.cxx (compile_pass): Added autoconf-dpath-path.c. - - * Makefile.am: Simplified "rpm" target a bit. - * Makefile.in: Regenerated. - - * Makefile.am: Moved tar archive creation step from "rpm" target - into "dist-gzip" target. - * Makefile.in: Regenerated. - -2008-08-25 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (AUTOMAKE_OPTIONS): Add "no-dist". Remove all - "make dist"-oriented targets and macros. - (rpm): Rewrite. Allow parametrization with RPMBUILDFLAGS=. - * Makefile.in: Regenerated. - * systemtap.spec: Make configuration macros at top overridable. - -2008-08-25 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_init): Make - sure we count the number of utrace probes correctly. - (utrace_derived_probe_group::emit_module_exit): Ditto. - -2008-08-25 Dave Brolley <brolley@redhat.com> - - * Makefile.am (installcheck): Remove $(EXTRA_SYSTEMTAP_PATH) from - invocation of $(MAKE). - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - * stap-client (parse_options): Don't quote an argument if it is already - quoted. - (send_request): Timeout after 10 seconds. - (receive_response): Timeout after 5 minutes. - (choose_server): Add missing $ to variable reference. - (connect_to_server): Timeout after 10 seconds. - * stap-server (receive_request): Don't check for a "request:" - message. Timeout after 10 seconds. - (send_response): Timeout after 10 seconds. - * stap-serverd (initialization): Remove tmpdir_prefix_serverd and - port2. No need for a temp directory. - (listen): Fifo no longer necessary. Call nc and pipe the output to - process_request in the background. - (process_request): New function. - (fatal): Kill stap-server followed by nc. No tmpdir to remove. - -2008-08-24 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_statement): Leave empty string for unknown file - name. - (dwarf_derived_probe ctor): Don't synthesize "@filename:lineno" - probe point pieces for unknown files/lines. - -2008-08-21 David Smith <dsmith@redhat.com> - - * tapsets.cxx (itrace_derived_probe_group::emit_module_decls): - Updated task finder callback function signature. - (utrace_derived_probe_group::emit_module_decls): Ditto. - -2008-08-20 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Supports original and new utrace interfaces. - (utrace_derived_probe_group::emit_module_decls): Ditto. - -2008-08-20 Dave Brolley <brolley@redhat.com> - - * stap-client: Ignore SIGHUP and SIGPIPE. - (initialization): Set b_specified.: - (parse_options): Handle the -b option. Quote $stap_arg. Use process_m. - (process_m): New function. - (process_o): Set stdout_redirection to simply the filename. - (process_response): Obtain the exit code from stap on the server side. - Copy the module to the current directory if -m was specified. - Call stream_output. - (stream_output): It's back. - (maybe_call_staprun): Print status messages for -v. Leave v_level - unchanged. Pass -o option to staprun. Wait until the staprun job - disappears. - (terminate): Redirect message to stderr. - (interrupt): Only kill staprun if it's still running. Call cleanup - if exiting. - (ignore_signal): New function. - * stap-server (receive_request): Quote the job specifier. - (send_response): Likewise. - (read_data_file): Use read to check the first line. Use cat the read - the entire file. - * stap-serverd (listen): Quote job specifier. - (terminate): Likewise. - -2008-08-19 David Smith <dsmith@redhat.com> - - PR 6841 - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Workaround utrace bug by quiescing threads before attaching a - utrace syscall engine to them. - (utrace_derived_probe_group::emit_module_decls): Emit quiesce - handler. - -2008-08-18 David Smith <dsmith@redhat.com> - - * tapsets.cxx (register_standard_tapsets): Add missing - 'process.syscall' and 'process.syscall.return' bindings. - -2008-08-16 Mark Wielaard <mjw@redhat.com> - - * configure.ac (build_elfutils): Mention possible distro - specific elfutils development sub-packages needed when not found. - -2008-08-15 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_builder::build): Change system-wide probes - from 'process("*").begin' to 'process.begin'. - (register_standard_tapsets): Add new 'process' binding. - * stapprobes.5.in: Change system-wide probes - from 'process("*").begin' to 'process.begin'. - -2008-08-15 Frank Ch. Eigler <fche@elastic.org> - - PR 6836 - * tapsets.cxx (dwarf_var...visit_target_symbol): Emit - "return=0xf00" instead of "$return=0xf00" for $$return, - for consistency with other variables. - * NEWS, stapprobes.5.in: Update. - -2008-08-15 Frank Ch. Eigler <fche@elastic.org> - - PR 6836. - * tapsets.cxx (dwarf_var...visit_target_symbol): Show - "var=?" for unlocatable variables. Support $$return. - Make sure $$parms/etc. work in .return probes too. - * testsuite/semok/thirtytwo.stp: New test. - * NEWS, stapprobes.5.in: Document them. - -2008-08-15 Michael Meeks <michael.meeks@novell.com> - - * configure.ac: suggest (SUSE) package name for dwfl. - - * buildrun.cxx (compile_pass): if extremely verbose, pass through - output from stap checks - helps to debug generic test compile - problems. - -2008-08-14 Dave Brolley <brolley@redhat.com> - - PR 6834 - * stap-client (initialization): initialize staprun_running. - (send_request): No server response message required. - (receive_response): No server response message required. Simply - receive the tar file. The tar file should contain a file called 'rc'. - (connect_to_server): Use 'nc'. - (disconnect_from_server): No action required. - (process_response): Renamed from 'stream_output'. Obtain the exit - code from the 'rc' file. - (maybe_call_staprun): set 'staprun_running' while staprun is running. - (check_server_error): Removed. - (server_fatal): Removed. - (cleanup): Redirect stderr of 'kill' to /dev/null. - (interrupt): Pass SIGINT on to staprun, if it is running. Otherwise, - exit. - * stap-server (initialization): Create the server temp directory here... - (unpack_request): ... not here. - (receive_request): Don't send a ready message. - (create_response): Write the exit code of 'stap' to the 'rc' file. - (send_response): Don't send a status message. - (fatal,error): Redirect to $tmpdir_server/stderr. - -2008-08-13 Dave Brolley <brolley@redhat.com> - - * stap-client: Trap SIGTERM and SIGINT. - (unpack_response): chown of the systemtap temp directory before - we move it and only if we didn't create it. - (maybe_call_staprun): Check $e_script when determining whether a - script was specified. Provide the -c option to staprun. Run staprun - in the background and wait for it. - (terminate,interupt): New functions. - -2008-08-13 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (stamp-elfutils): Override build-elfutils' - bin_PROGRAMS to not bother build binaries we're not using. - * Makefile.in: Regenerated. - -2008-08-12 Frank Ch. Eigler <fche@elastic.org> - - * buildrun.cxx (compile_pass): Add ugly kbuild hack for hand-built - x86 kernels that are made with O= (separate object/module-building - directory). - -2008-08-12 David Smith <dsmith@redhat.com> - - PR 6445 (partial) - * tapsets.cxx (utrace_builder::build): Validates pid and allows - probing of "*" to mean all threads. - * stapprobes.5.in: Added note about a process path of "*" means to - probe all threads. - -2008-08-11 Wenji Huang <wenji.huang@oracle.com> - - * tapsets.cxx : Fixed compilation warning on gcc 3.x. - -2008-08-11 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (translate_final_fetch_or_store): Reject some - unhandleable types such as floats. - (dwarf_var...visit_target_symbol): Tweak logic of $$var expansion - to quietly skip over any $context variables that cause exceptions. - -2008-08-11 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (translate_final_fetch_or_store): Reject some - unhandleable types such as floats. - (dwarf_var...visit_target_symbol): Tweak logic of $$var expansion - to quietly skip over any $context variables that cause exceptions. - -2008-08-11 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (dwarf_var_expanding...visit_target_symbol): - Don't add a \n at the end of $$vars/$$parms/$$locals. - -2008-08-11 Frank Ch. Eigler <fche@elastic.org> - - PR5049 - * tapsets.cxx (cu_name_matches, collect_srcfiles_matching): - Implicitly but optionally prefix probe source filenames with "*/". - * stapprobes.5.in: Document this. - -2008-08-11 Dave Brolley <brolley@redhat.com> - - * stap-client (disconnect_from_server): Call after receive_response. - * stap-server (stap_rc): Renamed from 'rc'. Don't use it as an exit - code. - * stap-serverd (listen): Set pipefail so that we get the rc of nc - if it fails. Make multiple attempts to establish a server. - (fatal): Call 'terminate'. - -2008-08-11 Frank Ch. Eigler <fche@elastic.org> - - PR5049 - * tapsets.cxx (cu_name_matches, collect_srcfiles_matching): - Implicitly prefix probe source filenames with "*". - -2008-08-11 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_builder::build): Fixed indentation. - -2008-08-11 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (install-data-local): Use INSTALL_PROGRAM for executable - stp scripts. - * Makefile.in: Regenerated. - -2008-08-09 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (example index): Only warn and instruct on index - regeneration. Do not actually perform it as the source tree - should be considered (and can really be) read-only. - * Makefile.in: Regenerated. - -2008-08-08 Dave Brolley <brolley@redhat.com> - - * stap-client: Use quotes when echoing. Exit with $rc. - (initialization): Initialize 'rc'. - (parse_options): Manage the command line in three pieces: - pre-script name, script name, post-script name. - (process_*): Likewise. - (send_request): Redirect stdout of 'nc' to /dev/null. - (receive_response): Handle "failed:" response. Redirect stdin of 'nc' - from /dev/zero. - (maybe_call_staprun): Check $rc. Check the requested phase limit - before looking for the module. - * stap-server: Use quotes when echoing. Exit with $rc. - (initialization): Initialize 'rc'. - (receive_request): Start 'nc' in the background before sending the - "ready:" message. Redirect stdin of 'nc' from /dev/zero. - (read_data_file): Allow for multiple lines of data. - (call_stap): Quoet $cmdline. Set 'rc'. - (send_response): Send "failed:" if stap is unsuccessful. Start 'nc' - in the background before sending the response. - (cleanup): Kill any running 'nc' job. - (terminate): Exit with $rc. - * stap-serverd: Start the server before advertising our presence. - * stap-find-or-start-server: Echo 0 if a server is already running. - Echo -1 if no server is running and one can't be started. - * stap-start-server: Wait until the server starts before exiting. Exit - with 1 if the server does not start. - * systemtap.spec: Move client side script to the runtime sub package. - The main package and the runtime sub package both depend on avahi-tools - and nc. - * Makefile.am: Revert previous changes. Now done in - testsuite/lib/systemtap.exp. - * Makefile.in: Regenerated. - -2008-08-08 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): - Calls stap_utrace_detach() to perform detach. - -2008-08-08 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (EXAMPLE_BUILD_DIR): Removed. Examples indexes are - always in srcdir. - (dist-hook): Always install examples from srcdir. - * Makefile.in: Regenerated. - -2008-08-08 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (rpm): Refer to srcdir spec file so make rpm works in - builddir. - * Makefile.in: Regenerated. - -2008-08-08 Mark Wielaard <mwielaard@redhat.com> - - * systemtap.spec: Disable chmodding of samples/kmalloc-top. - It is currently not installed. - -2008-08-08 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (all-local): Depend on example_index, which now - doesn't generate anything in $srcdir anymore, only $builddir. - (EXAMPLE_SOURCE_DIR): New var. - (EXAMPLE_BUILD_DIR): New var. - (EXAMPLE_META_FILES): New var. - (EXAMPLE_INDEX_GEN): New var. - (example_index): New target. - ($EXAMPLE_BUILD_DIR/index.html): Likewise. - (install-data-local): Install examples from $buildir. - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - -2008-08-07 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (all-local): Don't run indexing code, since $srcdir - may be read-only. - (install-data): Simplify sample script installation; limit sources - to systemtap.examples directory only. - * Makefile.in: Regenerated. - -2008-08-07 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (all-local): Add example_index. - (dist-hook): Likewise. - (EXAMPLE_SRC): Add index and support files. - (EXAMPLE_INDEXES): New file list. - (example_index): New target. - (clean-local): Remove generated indexes. - * Makefile.in: Regenerated. - -2008-08-07 Mark Wielaard <mwielaard@redhat.com> - - * systemtap.spec: Add comment about versioned vs unversioned docs. - -2008-08-06 Frank Ch. Eigler <fche@elastic.org> - - * stap-find-servers (match_server, client_sysinfo): - Use "sysinfo=...." keyword in mdns TXT record. - * stap-serverd (advertise_presence): Ditto. - (initialization): Locate random usable server port if needed. - (listen): Complain if port turns out to be unusable after all. - -2008-08-06 Josh Stone <joshua.i.stone@intel.com> - - PR 6820 - From Eugeniy Meshcheryakov eugen@debian.org: - * staprun.8.in: fix minor formatting problems - -2008-08-05 Stan Cox <scox@redhat.com> - - * NEWS: Updated $$vars, $$parms, $$locals. - * tapsets.cxx (visit_target_symbol): Missing break typo. - -2008-08-04 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwarf_var_expanding_copy_visitor::visit_target_symbol): - Add support for $$vars, $$parms, and $$locals. - * stapprobes.5.in: Likewise. - * doc/langref.tex: Likewise. - -2008-08-02 Frank Ch. Eigler <fche@elastic.org> - - * translate.h (translator_output::assert_0_indent): New function. - * translate.cxx (emit_*): Add a couple of calls to confirm - newline(1)/(-1) nest matching. - -2008-07-30 Dave Brolley <brolley@redhat.com> - - * stap-client (create_request): No need for random suffix for - cmdline and sysinfo files. - * stap-server (read_data_file): File name is exactly as specified. - Check that it exists. - -2008-07-29 Dave Brolley <brolley@redhat.com> - - * Makefile.am (bin_SCRIPTS): add stap-find-servers, stap-start-server, - stap-find-or-start-server, stap-stop-server. - (EXTRA_DIST): Likewise. - (check): Ensure that a compatible systemtap server is running before - running the tests, if requested. If we start a sterver, stop it after - running the tests. - (installcheck): Likewise. - * stap-client (parse_options): Specify stdin as 'scripts/-' on the - generated command line. - (create_request): Use $script_file instead of '-'. - (unpack_response): Existence of the systemtap temp directory is - optional. - (find_and_connect_to_server): Use stap-find-servers and choose_server. - (choose_server): Rewritten from match_server. Examine multiple - servers. - (connect_to_server): New function. - (maybe_call_staprun): Check for existence of a module. - Use staprun_PATH. - (staprun_PATH): New function. - (fatal): Call disconnect_from_server. - (server_fatal): Likewise. - * stap-server: Catch SIGTERM and SIGINT. - (create_response): Check for the existence of $tmpdir_stap. - (terminate): New function. - * stap-serverd: Catch SIGTERM and SIGINT. - (listen): Run 'nc | stap-server' in the background and wait for them - to finish. - (terminate): Renamed from handle_sigint. Kill avahi-publish-service - and nc. - * systemtap.spec: Add stap-find-servers, stap-start-server, - stap-find-or-start-server, stap-stop-server. - * Makefile.in: Regenerated. - -2008-07-28 Dave Nomura <dcnltc@us.ibm.com> - - * session.h (struct systemtap_session): Added itrace_derived_probe - group. - * elaborate.cxx (systemtap_session::systemtap_session): Added - initialization of itrace_derived_probes. - * tapsets.cxx (struct itrace_derived_probe): Add derived_probe - struct for holding info needed by itrace probes. - (struct itrace_derived_probe_group): New derived_probe_group - to handle itrace probes. - (itrace_derived_probe::itrace_derived_probe): Needed for use with - task_finder. - (itrace_derived_probe_group::join_group): Ditto. - (itrace_derived_probe_group::enroll): Ditto. - (itrace_derived_probe_group::emit_probe_decl): Ditto. - (itrace_derived_probe_group::emit_module_decls): Ditto. - (itrace_derived_probe_group::emit_module_init): Ditto. - (itrace_derived_probe_group::emit_module_exit): Ditto. - * stapprobes.5.in : Added documentation of itrace probe. - -2008-07-24 Josh Stone <joshua.i.stone@intel.com> - - * buildrun.cxx (compile_pass): Remove STAPCONF_MODULE_NSECTIONS, - and add STAPCONF_ONEACHCPU_RETRY - -2008-07-23 Frank Ch. Eigler <fche@elastic.org> - - From James Bottomley <James.Bottomley@HansenPartnership.com>: - * tapsets.cxx (query_dwarf_func): Silently skip inlined function - instances that have no entrypc. - -2008-07-18 Masami Hiramatsu <mhiramat@redhat.com> - - BZ 442528 (PR6028) - * tapsets.cxx (emit_module_decls): Add dummy kprobe on ia64. - (emit_module_init): register dummy kprobes for fixing bsp offset on - ia64. - (emit_module_exit): unregister dummy kprobes on ia64. - -2008-07-18 Frank Ch. Eigler <fche@elastic.org> - - BZ 442528, From Masami Hiramatsu <mhiramat@redhat.com> - * elaborate.h (emit_probe_local_init): New derived_probe member. - * tapsets.cxx (dwarf_derived_probe): Implement it, for ia64 register - unwind caching. - -2008-07-17 Stan Cox <scox@redhat.com> - - * tapsets.cxx (iterate_over_srcfile_lines): Avoid statement wildcard - lines without a unique address. - -2008-07-17 <anithra@linux.vnet.ibm.com> - - * main.cxx (handle_interrupt): Forward received signal to process - group. - -2008-07-17 Masami Hiramatsu <mhiramat@redhat.com> - - * systemtap.spec (%files): Add stap-server and stap-serverd. - (%files runtime): Add stap-client. - -2008-07-17 David Smith <dsmith@redhat.com> - - * systemtap.spec: Moved comment that was on the same line as - "Version", which rpmbuild didn't like. - -2008-07-17 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (dump_unwindsyms): Produce symbol tables and section - lists for all text-like sections, useful for -ffunction-sections type - kernel modules. - (emit_symbol_data): Tolerate missing unwind/symbol data during - elf processing. Subsequently warn about anything missing. - -2008-07-16 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Bumped version to 0.7.1. - * systemtap.spec: Renamed from systemtap.spec.in; don't autoconf it - just on account of @VERSION@. - * Makefile.am (EXTRA_DIST): Distribute it. - * Makefile.in, configure, testsuite/configure: Regenerated. - -2008-07-16 Dave Brolley <brolley@redhat.com> - - * Makefile.am (EXTRA_DIST): Add stap-client, stap-server, stap-serverd. - * Makefile.in: Regenerated. - -2008-07-14 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (utrace_var_expanding_copy_visitor::visit_target_symbol): - Synthesize a function to get the value of $syscall. - -2008-07-14 Dave Brolley <brolley@redhat.com> - - * Makefile.am (bin_SCRIPTS): Add stap-client, stap-server, stap-serverd. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - -2008-07-12 Frank Ch. Eigler <fche@elastic.org> - - PR 6738. - * buildrun.cxx (compile_pass): Add autoconf-uaccess.c. - * translate.cxx (translate_pass): #include <linux/vermagic.h> for - maximum version compatibility for UTS_RELEASE. - -2008-07-12 Frank Ch. Eigler <fche@elastic.org> - - By Andy Fitzsimon <afitzsim@redhat.com>: - * smileytap.svg: New file. - -2008-07-11 Frank Ch. Eigler <fche@elastic.org> - - PR 6739 - * tapsets.cxx (global_alias_cache): Make this a per-module/cu cache, - just like the function cache. - (update_alias_cache): Removed. Instead ... - (declaration_resolve): Compute the lookup table for this module/cu, - but only once. - -2008-07-11 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (dump_unwindsyms): Start tolerating user-space programs, - which may be unrelocatable. - -2008-07-11 Frank Ch. Eigler <fche@elastic.org> - - * hash.cxx (find_hash): Mix in -d MODULE names. - -2008-07-10 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): If "-k" (save temp directory) was supplied, - disable caching. - -2008-07-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6703. - * tapsets.cxx (mark_dwarf_redundancies): Tweak hashtable/iterator - syntax for gcc 4.1 compatibility. - -2008-07-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6736. - * main.cxx (main,usage): Support new "-d MODULE" option to - populate comp-unwindsyms module list. - * stap.1.in: Document it. - * tapsets.cxx (dwarf_query::add_probe_point): Add probed module - to comp-unwindsyms set. - (utrace_builder::build): Ditto for probed user-space program. - * translate.cxx (emit_symbol_data): Emit _stp_module[] entry - for each comp-unwindsyms member, including relocation bases - and symbols, but not yet unwind data. - * NEWS: Remove mention of temporarily disabled unwinder. - * session.h: Corresponding changes. - -2008-07-09 Mark Wielaard <mwielaard@redhat.com> - - PR 6732 - * buildrun.cxx (compile_pass): Define STAPCONF_REAL_PARENT by - calling autoconf-real-parent.c - -2008-07-09 Frank Ch. Eigler <fche@elastic.org> - - From James Bottomley <James.Bottomley@HansenPartnership.com> - * tapsets.cxx: (dwflpp::global_alias_cache): New member. - (declaration_resolve): Search it, called from translate_components. - (update_alias_cache): Populate it, called from query_cu. - -2008-07-09 <wenji.huang@oracle.com> - - * translate.cxx (visit_comparison): Remove unnecessary comparison. - * translate.cxx (emit_symbol_data): Remove unused local variable. - -2008-07-08 Dave Brolley <brolley@redhat.com> - - * stap-client (client_sysinfo): Use `uname -rvm`. - (receive_response): Wait for "done:" from the server. Clear server_ip - when the server is incompatible. - * stap-server (check_request): Quote "`server_sysinfo`". - (server_sysinfo): Use `uname -rvm`. - (send_response): Send "done:". - * stap-serverd (advertise_presence): Use `uname -rvm`. Quote "$txt". - -2008-07-07 Mark Wielaard <mwielaard@redhat.com> - - * stapex.5.in: Add section on installed examples, samples and demos - and how they are documented. - -2008-07-07 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (install-data-hook): Install examples, demos and - samples. - (uninstall-local): Remove examples, demos and samples. - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * systemtap.spec.in (%install): Move examples. - Don't copy over examples to src. - (testsuite): Don't include src/examples. - -2008-07-07 Mark Wielaard <mwielaard@redhat.com> - - * systemtap.spec.in (%install): Move installed pdf files. - (%files): Mark moved installed pdf as %doc files. - -2008-07-03 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (translate_pass): Don't #include <linux/compile.h>. - -2008-07-03 Dave Brolley <brolley@redhat.com> - - * stap-serverd: New script. - * stap-client (client_sysinfo): Client sysinfo is stripped down to - the output of `uname -r` for now. - (package_request): Don't create temporary server tar file here. - (send_request): Communication protocol simplified. Use nc to send - the tar file. - (receive_response): Communication protocol eliminated. Simply wait - for the file from the server using nc. - (unpack_response): Create temporary server tar file here. Verify the - contents of the server's response. - (find_and_connect_to_server): Obtain server address and port from - avahi-browse. - (server_fatal): New function. - (check_server_error): Call server_fatal. - * stap-server (configuration): port is now provided as an argument. - Default to port 65001. - (initialization): Don't create temp work directory here. - (receive_request): Communication protocol simplified. Receive the - request file using nc. - (unpack_request): Make temp work directory here. Verify the contents - of the request. - (server_sysinfo): New function. - (check_compatibility): Exact match required. - (package_response): Don't use -p on tar command. - (send_response): Communication protocol eliminated. Simply send the - file using nc. - (main line): Pass "$@" to configuration. - -2008-07-01 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): In -vv mode, also dump out session arch/release - values right at the top. - -2008-06-29 Tim Moore <timoore@redhat.com> - - * Makefile.am (EXTRA_DIST): Add auto_free.h. - * Makefile.in: Regenerated. - * auto_free.h (auto_free_ref): New class to free references to - pointers allocated with malloc / realloc. - * tapsets.cxx (iterate_over_srcfile_lines): Use auto_free_ref at - top level of function to free srcsp. - -2008-06-27 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Fix - bug in handling process(PID) probes. - -2008-06-24 K.Prasad <prasad@linux.vnet.ibm.com> - - * tapset/vfs.stp: Deprecate probe points on old functions, namely - generic_file_readv(), generic_file_writev(), - generic_file_read() and generic_file_write(). - * tapset/vfs.stp: Enhance the tapset by - providing more pure C functions, probes for newer VFS related functions - * testsuite/buildok/vfs_testcase.stp: Created a testsuite for the - new enhanced VFS Tapset which does a compile test i.e. with flags -up4 - -2008-06-25 Stan Cox <scox@redhat.com> - - * tapsets.cxx (iterate_over_srcfile_lines): Only probe a line once. - -2008-06-24 Tim Moore <timoore@redhat.com> - - * auto_free.h: New file. - * tapsets.cxx (iterate_over_srcfile_lines, read_symbols): Use - auto_free instead of explicit calls to ::free(). - (Compare): Class for comparing func_info objects and their - addresses. - (get_index_for_address): Remove. - (symbol_table::sort): new function. - (query_module_symtab): Iterate over list_by_addr using iterator - instead of index. - (~symbol_table): Don't bother clearing list_by_addr and - map_by_name. - (add_symbol): Don't keep list_by_addr in order. - (read_symbols, get_from_elf): Sort symbols after all are read. - (get_func_containing_address): Use std::upper_bound. - (purge_syscall_stubs): Don't iterate over whole list_by_addr - vector; use std::equal_range to look for possible stub addresses. - -2008-06-23 Frank Ch. Eigler <fche@elastic.org> - - * session.h (module_cache): Add field here. - * tapsets.cxx (dwflpp): Remove static field from here. - (pathname_caching_callback): Use hacky micro-static to get to it. - (*): Update other users of module_cache. - * elaborate.cxx (systemtap_session ctor): Corresponding changes. - -2008-06-23 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Handles UDPF_NONE value. - (utrace_derived_probe_group::emit_vm_callback_probe_decl): New - function. - (utrace_derived_probe_group::emit_module_decls): Calls - emit_vm_callback_probe_decl() to set up vm_callbacks. - -2008-06-23 Stan Cox <scox@redhat.com> - - * NEWS: Updated .statement line number wildcard and line number range. - * stapprobes.5.in: Likewise. - * doc/langref.tex: Likewise. - * tapsets.cxx (enum line_t): Add RANGE and WILDCARD. - (iterate_over_srcfile_lines): Change lineno parm to lines[]. - Support RANGE and WILDCARD. - (dwarf_query): Change line to line[] - (dwarf_query::parse_function_spec): Parse RANGE and WILDCARD. - -2008-06-20 wcohen <wcohen@redhat.com> - - * stapfuncs.5.in: Add documentation for tapset/dev.stp functions. - -2008-06-18 Josh Stone <joshua.i.stone@intel.com> - - PR 6644 - * elaborate.cxx (dead_stmtexpr_remover::visit_block): Flatten nested - block statements into a single block. - (dead_stmtexpr_remover::visit_if_statement): Remove the possibility - of if_statements with a null thenblock. When an if lacks both then - and else, either remove it completely or reduce it to a simple - statment evaluating the condition. With an else and no then, invert - the condition and else becomes then. - (void_statement_reducer): New optimization visitor that breaks - statements in void context into smaller pieces, to expose more - optimization opportunities. - (semantic_pass_opt5, semantic_pass_opt6): Bump opt5 to opt6, and - create a new opt5 that runs through void_statement_reducer. - -2008-06-16 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (print_locals): Produce nothing instead of - "(alternatives: (none found))" if no alternatives were found. - -2008-06-16 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (session::print_warning): Change to take optional - token as argument. - (*): Adjust callers of print_warning() to pass a token. - (print_token): New function, eliminate recent file name duplication. - (print_error): Use it too. - (semantic_pass_opt2): Tweak way read-only vars' alternatives are - printed. Eliminate relaxation-loop duplicates by printing warnings - only on first iteration. Print alternatives for globals too. - * session.h: Corresponding changes. - -2008-06-16 Stan Cox <scox@redhat.com> - - * elaborate.cxx (semantic_pass_opt2): Only create function - alternatives if needed. Overload compare. - -2008-06-13 Stan Cox <scox@redhat.com> - - * elaborate.cxx (print_warning): Add optional_str parameter. - (semantic_pass_opt2): List variable alternatives for probes and - functions. - * session.h (print_warning): Add optional_str parameter. - -2008-06-13 Josh Stone <joshua.i.stone@intel.com> - - * translate.cxx: Jump out directly after setting last_error, rather - than passively checking last_error everywhere. - * translate.cxx: Only make actionremaining checks at control points, - i.e. roughly at the end of basic blocks, or after executing a few - statements in a row. - -2008-06-13 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Print generated module name for "-m FOO" - runs also. Stop warning about this implying uncached operation. - -2008-06-12 Stan Cox <scox@redhat.com> - - * elaborate.cxx (print_warning): Make parameter a const. - -2008-06-11 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (EXTRA_DIST): Add dwarf_wrappers.h. - -2008-06-11 Mark Wielaard <mwielaard@redhat.com> - - * elaborate.cxx (print_warning): Only output WARNING, don't put it - in the message_str and seen_warnings. - * session.h (print_warning): Reindent. - -2008-06-11 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (print_warning): Use session.seen_warnings[]. - -2008-06-10 Stan Cox <scox@redhat.com> - - * elaborate.cxx (print_warning): New. - * elaborate.cxx (semantic_pass_opt1): Use it. - -2008-06-11 Tim Moore <timoore@redhat.com> - - * dwarf_wrappers.h (dwfl_assert): Add overload with boolean value - for assertion test. - * dwarf_wrappers.cxx (dwfl_assert): Write boolean condition - version. - * tapsets.cxx (emit_address): Fix up dwfl_asserts that got negated - in changes to dwfl_assert. - - PR 2608 - * dwarf_wrappers.h, dwarf_wrappers.cxx: New files. - * Makefile.in: Regenerated. - * tapsets.cxx (dwarf_assert, dwfl_assert): Move to - dwarf_wrappers.h. - (iterate_over_srcfile_lines, has_single_line_record, - query_srcfile_line): Use dwarf_line_t wrapper. - (die_has_pc): Take a reference to a Dwarf_Die instead of a - pointer. Clean up use of dwfl_assert. - (query_cu): Check that statement raw address matches the beginning - of a statement record. - * elaborate.h: Include iosfwd instead of iostream. - (literal_map_t, resolve_prologue_endings,): New typedef. - - -2008-06-10 Jim Keniston <jkenisto@us.ibm.com> - - * testsuite/systemtap.context/num_args.tcl: Run twice -- - once with dwarf (default) and once with --kelf --ignore-dwarf. - * testsuite/systemtap.context/context.exp: Add num_args to - testlist. :-} - -2008-06-10 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Initializes .vm_callback. - -2008-06-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6470 - * NEWS: Note argv[] tapset. - * parse.cxx (scan_pp): Better handle premature EOF. - * stapvars.5.in: New file. - * stap.1.in: Mention it. - * Makefile.am (dist_man_MANS): Add stapvars.5. - * configure.ac (AC_CONFIG_FILES): Add stapvars.5.in. - * Makefile.in, configure: Regenerated. - -2008-06-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6470 - * parse.cxx (scan_pp): Eliminate expand_args argument to control - nested preprocess evaluation. Rewrite to use a combination of - exceptions and non-recursion. - (lexer::scan): Ditto. Interpret "$#" as the argc value in all - cases. - * parse.h: Corresponding decl changes. - -2008-06-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6470 - * parse.cxx (eval_comparison): New template function. - (eval_pp_conditional): Call it separately for string/string and - int64/int64 cases. - (lexer::scan): Provide better error message for invalid $NNN. - -2008-06-09 Jim Keniston <jkenisto@us.ibm.com> - - PR 6601 - * tapsets.cxx: For powerpc, reject symbols in .opd - (function descriptor) section. - -2008-06-09 Stan Cox <scox@redhat.com> - - * NEWS: Updated kernel.statement relative line number. - * stapprobes.5.in: Likewise. - -2008-06-09 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (utrace_var_expanding_copy_visitor::visit_target_symbol): Calls - 'syscall_nr' to get the value of '$syscall'. - - * tapsets.cxx (utrace_derived_probe::join_group): Removed - generated inclusion of tracehook.h. - (utrace_var_expanding_copy_visitor::visit_target_symbol): Uses - '_stp_arg(0)' to get value of '$syscall'. - -2008-06-06 Stan Cox <scox@redhat.com> - - * tapsets.cxx (dwflpp::iterate_over_srcfile_lines): - Add parameter line_type_relative. - (enum line_t): New. - (dwarf_query::line_type): New. - (dwarf_query::parse_function_spec): Set line_type. - -2008-06-06 David Smith <dsmith@redhat.com> - - * NEWS: Updated utrace probes descriptions. - * stapprobes.5.in: Ditto. - - * tapsets.cxx (enum utrace_derived_probe_flags): Redefined in - terms of probe types instead of utrace events. - (utrace_var_expanding_copy_visitor::visit_target_symbol): Uses new - utrace_derived_probes_flags values. - (utrace_builder::build): Handles new probe types and new - utrace_derived_probes_flags values. - (utrace_derived_probe_group::emit_probe_decl): Updated to handle - new utrace_derived_probe_flags values. - (utrace_derived_probe_group::emit_module_decls): Ditto. Also - correctly handles 'begin' events correctly by installing a quiesce - handler (instead of running the probe directly). - (register_standard_tapsets): Registers updated utrace probe - types. - -2008-06-05 Srinivasa DS <srinivasa@in.ibm.com> - *configure,configure.ac: -fpie option puts limit on GOT size - and hence systemtap build fails on s390. So use -fPIE which - doesn't put limit on GOT size. - -2008-06-04 Jim Keniston <jkenisto@us.ibm.com> - - * testsuite/systemtap.context/num_args.{stp,tcl}: Added. - Same as args.{stp,tcl}, but refs args using *_arg(). - -2008-06-04 Jim Keniston <jkenisto@us.ibm.com> - - PR 6588 - * tapset/syscalls.stp: Remove return aliases for exit and exit_group. - * testsuite/semok/syscalls_return.stp: Regression test - -2008-06-03 David Smith <dsmith@redhat.com> - - * tapsets.cxx: Added several string tokens that are used instead - of hard-coded strings. - (register_standard_tapsets): Uses new string tokens. - -2008-06-03 Frank Ch. Eigler <fche@elastic.org> - - PR 6429. - * Makefile.am: Don't link stapio with -ldw. - * Makefile.in: Regenerated. - -2008-05-29 Mark Wielaard <mwielaard@redhat.com> - - * Makefile.am (installcheck): Check that make install was run. - * Makefile.in: Regenerated. - -2008-06-02 Frank Ch. Eigler <fche@elastic.org> - - PR6534 - * translate.cxx (c_unparser::emit_module_init): Use UTS_RELEASE - instead of uts_sem/utsname() as kernel version-checking hack. - -2008-06-02 Dave Brolley <brolley@redhat.com> - - * stap-client (initialization): port is no longer hard coded. - Initialize avahi_service_tag to _stap._tcp. - (find_and_connect_to_server): Handle server/port returned by - match_server. - (match_server): Obtain server ip address and port from output - of the -r option to avahi-browse. Echo a server/port pair. - -2008-06-02 Zhaolei <zhaolei@cn.fujitsu.com> - - * main.cxx (main): Fix the problem that kernel module compile - failure when runtime directory is set to relative path(stap -R). - -2008-05-30 Dave Brolley <brolley@redhat.com> - - * stap-client, stap-server: New compile server and client scripts. - -2008-05-30 Srinivasa DS <srinivasa@in.ibm.com> - PR 6562 - * tapsets.cxx, translate.cxx: modified one argument for - dwfl_linux_kernel_report_offline(). - * testsuite/systemtap.base/debugpath.exp: Modified testsuite for new - SYSTEMTAP_DEBUGINFO_PATH behaviour. - * stap.1.in: Modified manpage for new SYSTEMTAP_DEBUGINFO_PATH behaviour. - -2008-05-29 Jim Keniston <jkenisto@us.ibm.com> - - PR 6582 - * tapset/context.stp: Added registers_valid(). - * stapfuncs.5.in: Ditto. - * tapset/x86_64/registers.stp: Added registers_valid() check. - * tapset/ppc64/registers.stp: Ditto. - * tapset/i686/registers.stp: Ditto. Also fixed warnings due to - sp_offset and ss_offset not being global. - -2008-05-29 Ananth N Mavinakayanahalli <ananth@in.ibm.com> - - PR 6563 - * tapset/ppc64/registers.stp: Fix powerpc dwarfless argument access - -2008-05-28 Josh Stone <joshua.i.stone@intel.com> - - PR 6529 - * translate.cxx (c_unparser::visit_return_statement): Make sure we - notice errors from evaluating return values. - -2008-05-28 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): - Removed debug print. - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): - Instead of adding clone handlers, just call the probes directly. - (utrace_derived_probe_group::emit_module_decls): For syscall - probes, on exec detach the parent's utrace engine from the child. - -2008-05-27 Josh Stone <joshua.i.stone@intel.com> - - PR 6432 - * buildrun.cxx (compile_pass): Add the autoconf test for probe_kernel_* - functions, but leave it #if-0'ed for now. - -2008-05-23 Jim Keniston <jkenisto@us.ibm.com> - - PR 4311, cont. Address powerpc dwarfless test failures. - * tapsets.cxx: Convert .funcname to funcname when adding it - to our symbol table. Accept all weak symbols except those - that map to sys_ni_syscall. - -2008-05-23 Srinivasa DS <srinivasa@in.ibm.com> - PR 6429: Inerim fix to avoid compilation error of systemtap module - * runtime/transport/symbols.c: added definitions of struct - module_sect_attr, struct module_sect_attrs for 2.6.25 above kernels. - -2008-05-22 Wenji Huang <wenji.huang@oracle.com> - - * tapsets.cxx (iterate_over_functions): Fix .statement(NUM) regression. - -2008-05-22 Ananth N Mavinakayanahalli <ananth@in.ibm.com> - - * tapset/ppc64/registers.stp: Support powerpc register + arg lookup - * stapfuncs.5.in: Add powerpc bits; indicate scope of uarg_* access - -2008-05-21 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): - Added new 'event_flag' parameter to task_finder callback. Only - calls probe handlers if we received the correct event. - -2008-05-20 Frank Ch. Eigler <fche@elastic.org> - - PR 6538 - * elaborate.cxx (semantic_pass_opt2): Warn about read-only locals and - globals. - (visit_foreach_loop): Belatedly recognize index symbols as lvalues. - -2008-05-21 Stan Cox <scox@redhat.com> - - * elaborate.cxx (dead_assignment_remover::visit_binary_expression): New. - (dead_assignment_remover::visit_assignment): Allow rhs simplification. - -2008-05-20 Tim Moore <timoore@redhat.com> - - * configure.ac: Check for tr1/unordered_map header. - * tapsets.cxx: Use tr1::unordered_map if available. - * configure, config.in: Regenerated. - -2008-05-19 Stan Cox <scox@redhat.com> - - * elaborate.cxx (dead_assignment_remover::visit_arrayindex): New method. - (dead_assignment_remover::visit_functioncall): New method. - (dead_assignment_remover::visit_if_statement): New method. - (dead_assignment_remover::visit_for_loop): New method. - -2008-05-19 William Cohen <wcohen@redhat.com> - - * main.cxx (setup_signals): Remove sa_restorer initialization. - -2008-05-17 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (semantic_pass): Error on #probes=0, but not in - listing mode. - (semantic_pass_optimize[12]): Remove inappropriate check from here. - -2008-05-17 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (cu_function_cache_t): Switch to <ext/hash_map>s, - since these tables tend to get pretty big. - -2008-05-16 Frank Ch. Eigler <fche@elastic.org> - - PR 5643 - * tapsets.cxx (cu_function_cache_t): Reorganize into - mod:cu->function->DIE lookup table. Consider merging into symtab - later. - (mark_dwarf_redudancies): Adapt. - (iterate_over_functions): Rewrite. - (dwarf_builder::build): Cache kprobes etc. symbol addresses. - * elaborate.cxx (systemtap_session ctor): Clear additional POD fields. - -2008-05-15 David Smith <dsmith@redhat.com> - - * main.cxx (setup_signals): New function. - (main): Calls setup_signals() to setup signal handling. When - removing the temporary directory, ignore signals. - -2008-05-13 Ananth N Mavinakayanahalli <ananth@in.ibm.com> - PR 5955. - * parse.cxx (parser::parse_global): accept ";" terminated globals - * NEWS - update documentation - * testsuite/systemtap.base/global_vars.(stp/exp) - supporting tests - * testsuite/parseko/twenty(four/five).stp - supporting tests - -2008-05-12 Jim Keniston <jkenisto@us.ibm.com> - - PR 4311 - Function boundary tracing without debuginfo: Phase II - Merged dwarfless branch into mainline. But first... - * runtime/regs.c: Removed register name:value lookup facility. - Moved basically all register-lookup code to the i686 and x86_64 - registers.stp tapsets. Args stuff shared between i386 and - x86_64 remains in regs.c. - * tapset/{i686,x86_64}/registers.stp: Moved register-lookup - code from runtime/regs.c to here. - -2008-05-12 Jim Keniston <jkenisto@us.ibm.com> - - (2008-05-06 in dwarfless branch) - PR 4311 - Function boundary tracing without debuginfo: Phase II - * stapfuncs.5.in: Added sections on CPU REGISTERS and - NUMBERED FUNCTION ARGUMENTS. - -2008-05-12 Jim Keniston <jkenisto@us.ibm.com> - - (2008-05-05 in dwarfless branch) - PR 4311 - Function boundary tracing without debuginfo: Phase II - * runtime/regs.c: Added register name:value lookup facility. - Added support for register and arg lookup for i386 and x86_64. - * tapset/{i686,x86_64}/registers.stp: New: support for register - and arg lookup. - * tapsets.cxx, translate.cxx: Added regparm field to struct - context. - * tapset/nd_syscall.stp: syscall.stp migrating toward numbered - args rather than named args. - -2008-05-12 Jim Keniston <jkenisto@us.ibm.com> - - (2008-04-18 in dwarfless branch) - PR 4311 - Function boundary tracing without debuginfo: Phase I - * tapsets.cxx: Major rework of dwflpp, dwarf_query, and related - code to make do with elf info if dwarf info is absent, or - (in the case of vmlinux) make do with a System.map-style - symbol table if even the elf file is absent. - * main.cxx: Use getopt_long instead of getopt. Added --kelf, - --kmap, --ignore-vmlinux, and --ignore-dwarf. - * hash.cxx, session.h, stap.1.in: Added --kelf, --kmap, - --ignore-vmlinux, and --ignore-dwarf. - * testsuite/{semok,semko}/nodwf*.stp - -2008-05-07 Frank Ch. Eigler <fche@elastic.org> - - PR 6492. - * main.cxx (main): let -l imply -w. - -2008-05-05 Frank Ch. Eigler <fche@elastic.org> - - PR 444886. From <crquan@gmail.com>: - * tapsets.cxx, translate.cxx: Add .../build/... to default debuginfo - path, to ease search for hand-built kernels. - -2008-05-01 Frank Ch. Eigler <fche@elastic.org> - - PR 6474 - * configure.ac (--enable-pie): Add default option. - * Makefile.am (stap* binaries): Use -fpie/-z relro/-z now as - applicable. - * configure, aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. - -2008-04-30 Masami Hiramatsu <mhiramat@redhat.com> - - PR 6008 - * main.cxx (main): Increase the limitation of buffer size to 4095MB. - * staprun.8.in: Ditto. - -2008-04-29 Frank Ch. Eigler <fche@elastic.org> - - PR 6466 - * elaborate.cxx - (dead_stmtexpr_remover): Expand scope to kill far more - side-effect-free statemnets, including if/for/foreach. - (semantic_pass_opt4): Warn on elided function/probe bodies. - (typeresolution_info::visit_target_symbol): Dump parse tree of - resolution-challenged functions/probes. - (*): Adapt to probe->body being a statement* - rather than a block*. - * tapsets.cxx (*): Ditto. - * staptree.cxx (block::block ctor): New cons constructor. - * staptree.h: Corresponding changes. - -2008-04-29 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): Added - death event handlers to ensure that for every utrace_attach there - is a corresponding utrace_detach. - (utrace_derived_probe_group::emit_module_decls): Ditto. - -2008-04-28 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (translate_pass): Don't #define TEST_MODE. - -2008-04-26 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (common_probe_entryfn_prologue): Undo - clear of overload-related context vars; add explanation why. - -2008-04-25 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Simplify configuration defaults. - -2008-04-25 David Smith <dsmith@redhat.com> - - PR 6455. - * tapsets.cxx (mark_builder::build): Handles markers with no - format string. - -2008-04-24 Frank Ch. Eigler <fche@elastic.org> - - PR 6454. - * main.cxx (printscript): Avoid string truncation heuristics, and - also avoid plain probe::printsig. Hold nose and dig down into - raw location lists instead. - -2008-04-24 Will Cohen <wcohen@redhat.com> - - * aclocal.m4: Regenerated. - * Makefile.am (example/*): Moved to testsuite/systemtap.examples. - * Makefile.in: Regenerated. - -2008-04-23 Frank Ch. Eigler <fche@elastic.org> - - From: Srinivasa DS <srinivasa@in.ibm.com> - * tapsets.cxx (blacklisted_p): Blacklist more init/exit sections. - -2008-04-23 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (common_probe_entryfn_prologue): Clear - overload-related context vars. - -2008-04-22 hunt <hunt@redhat.com> - - * staprun.8.in: Add documentation for -d option. - -2008-04-22 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): - Removed debug statements. - -2008-04-18 David Smith <dsmith@redhat.com> - - * tapsets.cxx (struct utrace_builder): Added exec probes. - (utrace_derived_probe_group::emit_probe_decl): Ditto. - (utrace_derived_probe_group::emit_module_decls): Ditto. - (register_standard_tapsets): Ditto. - * stapprobes.5.in: Added information about exec probes. - * NEWS: Added information about utrace probes. - - * stapprobes.5.in: Added information about utrace probes. - -2008-04-17 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (build_blacklist): Fix regexps for atomics. - * vim/syntax/stap.vim: Recognize the 'limit' keyword and script arguments, - allow '$' in variable names, and highlight $target variables. - -2008-04-17 David Smith <dsmith@redhat.com> - - * tapsets.cxx (utrace_builder::build): Make sure that the PATH of - 'process("PATH")' probes is an absolute path. - (utrace_derived_probe_group::emit_module_decls): Made calls to - utrace probe handler functions conditional on which types of - utrace probes are going to be output. - -2008-04-16 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (task_finder_derived_probe): Add dummy constructor - for old (RHEL4) gcc compatibility. - -2008-04-16 Frank Ch. Eigler <fche@elastic.org> - - PR 6417: From Srinivasa DS <srinivasa@in.ibm.com>: - * tapsets.cxx (build_blacklist): Extend. - -2008-04-15 David Smith <dsmith@redhat.com> - - * session.h (struct systemtap_session): Added utrace_derived_probe - group and task_finder_derived_probe_group members. - * elaborate.cxx (systemtap_session::systemtap_session): Added - initialization of utrace_derived_probes and - task_finder_derived_probes. - * tapsets.cxx (struct task_finder_derived_probe_group): New - derived_probe_group to handle task_finder framework. - (struct utrace_derived_probe_group): New derived_probe_group to - handle utrace probes. - -2008-04-15 Frank Ch. Eigler <fche@elastic.org> - - PR 6405 cont'd. - * Makefile.am (AM_CFLAGS): Remove -Wshadow, as it triggers for - new stapio (modname global vs. dwfl headers). - -2008-04-15 Frank Ch. Eigler <fche@elastic.org> - - PR 6405 - * buildrun.cxx (compile_pass): Add STAPCONF_MODULE_NSECTIONS. - -2008-04-14 David Smith <dsmith@redhat.com> - - * elaborate.h (struct derived_probe_group): Removed - emit_module_header virtual function. - * translate.cxx (c_unparser::emit_common_header): Removed calls to - emit_module_header function. - * tapsets.cxx (be_derived_probe>): Removed emit_module_header function. - (struct timer_derived_probe_group): Ditto. - (struct profile_derived_probe_group): Ditto. - (struct procfs_derived_probe_group): Ditto. - (struct hrtimer_derived_probe_group): Ditto. - (struct perfmon_derived_probe_group): Ditto. - (dwarf_derived_probe_group::emit_module_decls): Moved kernel check - back from deleted emit_module_header function. - (uprobe_derived_probe_group::emit_module_decls): Ditto. - (mark_derived_probe_group::join_group): Moved marker - kernel check (to a new embedded code section) from deleted - emit_module_header function. - -2008-04-14 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (stapio_*): Become able to link/compile against - bundled elfutils. - * Makefile.in: Regenerated. - -2008-04-09 Martin Hunt <hunt@dragon> - - * buildrun.cxx (run_pass): Remove unused "-d" option - passed to staprun. - - * translate.cxx (emit_symbol_data): When available, - grab symbols from debuginfo instead of /proc/kallsyms. - -2008-04-11 David Smith <dsmith@redhat.com> - - * elaborate.h (struct derived_probe_group): Added - emit_module_header virtual function. - * translate.cxx (c_unparser::emit_common_header): Calls each probe - group's emit_module_header function. - (translate_pass): Moved inclusion of linux/marker.h to - mark_derived_probe_group::emit_module_header(). - * tapsets.cxx (struct be_derived_probe_group): Added empty - emit_module_header function. - (struct timer_derived_probe_group): Ditto. - (struct profile_derived_probe_group): Ditto. - (struct procfs_derived_probe_group): Ditto. - (struct hrtimer_derived_probe_group): Ditto. - (struct perfmon_derived_probe_group): Ditto. - (dwarf_derived_probe_group::emit_module_header): Moved kprobes - kernel check from emit_module_decls() to here. - (uprobe_derived_probe_group::emit_module_header): Moved uprobe - kernel check from emit_module_decls() to here. - (uprobe_derived_probe_group::emit_module_decls): Moved uprobe - kernel check to emit_module_header(). - (mark_derived_probe_group::emit_module_header): Moved marker - kernel check from emit_module_decls and translate_pass() to here. - (uprobe_derived_probe_group::emit_module_decls): Moved marker - kernel check to emit_module_header(). - -2008-04-10 Frank Ch. Eigler <fche@elastic.org> - - PR 2949. - * session.h (listing_mode): New field. - * main.cxx (main): Test it. Enjoy it. - (printscript): Do it. - (usage): Document it. - * stap.1.in, stapex.5.in: Ditto. - * elaborate.cxx (print_error): Disable error messages in listing mode. - -2008-04-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6393 cont'd. - * Makefile.am: Also copy RadeonHD.am fragment to force - git_version.h regeneration at every make, and also special - tagging for "make dist". Thanks <ndim>. - -2008-04-10 Frank Ch. Eigler <fche@elastic.org> - - PR 6393. - * git_version.sh: New file, copied from radeonhd. - * configure.ac: No longer generate $builddir/SNAPSHOT. - * Makefile.am: Generate $builddir/git_version.h. - (EXTRA_DIST): Add git_version.h and git_version.sh. - * main.cxx (version): Print generated GIT_MESSAGE therefrom. - * Makefile.in, configure: Regenerated. - -2008-04-09 David Smith <dsmith@redhat.com> - - * .gitignore: Added more files to ignore. - -2008-04-04 Masami Hiramatsu <mhiramat@redhat.com> - - PR 6028 - * translate.cxx (c_unparser::emit_common_header): Add unwaddr for - caching unwound address. - * tapsets.cxx (common_probe_entryfn_prologue): Clear unwaddr. - -2008-04-01 Frank Ch. Eigler <fche@elastic.org> - - * safety/*: Removed subdirectory containing abandoned experiment. - -2008-03-31 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Bump version to 0.7. - * configure: Regenerated. - -2008-03-27 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt. - -2008-03-26 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_function): Set context last_stmt, in case - an error occurs during the function. - -2008-03-25 Frank Ch. Eigler <fche@elastic.org> - - * stap.1.in: Clarify utility of epilogue type probe aliases. - -2008-03-21 Eugene Teo <eugeneteo@kernel.sg> - - PR 5528 - * tapset/conversions.stp (user_string_n, user_string_n2, - user_string_n_warn, user_string_n_quoted, user_short, user_short_warn, - user_int, user_int_warn, user_long, user_long_warn, user_char, - user_char_warn): New user_* functions. - * stapfuncs.5.in: Documented the new functions. - * testsuite/systemtap.stress/conversions.stp: Test new functions. - * testsuite/buildok/conversions.stp: Test new functions. - * testsuite/buildok/conversions-embedded.stp: Test new functions. - -2008-03-20 Frank Ch. Eigler <fche@elastic.org> - - PR 5975. - * tapsets.cxx (*): Added a few (void) expressions for asserts that - may be compiled out. - -2008-03-14 Masami Hiramatsu <mhiramat@redhat.com> - - PR 3542 - * buildrun.cxx (compile_pass): Add an autoconf to check the kernel - supports batch unregistration. - * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Add an - array of probe pointers for batch unregistration. - * tapsets.cxx (dwarf_derived_probe_group::emit_module_exit): Use - unregister_k(ret)probes if it is supported. - -2008-03-13 Frank Ch. Eigler <fche@elastic.org> - - PR 5928. - * buildrun.cxx (compile_pass): Use EXTRA_CFLAGS for autoconf'd values - instead of CFLAGS_<module>.o. - -2008-03-12 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, systemtap.spec.in: Bumped version to 0.6.2. - * configure: Regenerated. - -2008-03-12 Dave Brolley <brolley@redhat.com> - - PR5897 - * staptree.cxx (probe::printsig): If this probe was derived from an alias, - call the printsig method of the alias. - -2008-03-10 Dave Brolley <brolley@redhat.com> - - PR5189 - * translate.cxx (probe_or_function_needs_deref_fault_handler): New member of - c_unparser. - (c_unparser::emit_function): Initialize probe_or_function_needs_deref_fault_handler. - Check it after the body is visited and generate a deref fault handler if necessary. - (c_unparser::emit_probe): Likewise. - (c_unparser::visit_print_format): Correct the compoenent type for an overridden string - literal. Generate code to check that pointer arguments to %m can be dereferenced. - Generate casts for printf arguments as necessary. - * elaborate.cxx (typeresolution_info::visit_print_format): Desired type for conv_memory - is pe_long. - -2008-03-06 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Remove -Werror. - * Makefile.in, doc/Makefile.in: Regenerated. - -2008-03-03 Frank Ch. Eigler <fche@elastic.org> - - PR5516 - * elaborate.cxx (symbol_fetcher, dead_assignment_remover): - Support unresolved $target lvalues. Propagate pretty error - messages. - * staptree.cxx (varuse_collecting_visitor target_symbol): Ditto. - * staptree.h: Corresponding decl. - - * loc2c.c: c_translate_pointer_store: New function. - * loc2c.h: Corresponding decl. - * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it - for $target pointer assignments. - -2008-02-29 Will Cohen <wcohen@redhat.com> - - * main.cxx (handle_interrupts): Make compatible with GCC 4.3. - -2008-02-28 Frank Ch. Eigler <fche@elastic.org> - - PR5045 - * session.h (pending_interrupts): New global. - * main.cxx (handle_interrupts): New fn to handle SIGINT* etc. - * elaborate.cxx, translate.cxx, tapsets.cxx, main.cxx (*): Insert - pending_interrupts escape hatches inside potentially timetaking loops. - * buildrun.cxx: Don't deal with signals. - -2008-02-27 Frank Ch. Eigler <fche@elastic.org> - - PR5697 - * configure.ac (enable-docs): Implement. - * systemtap.spec.in: Add optional docs build/install/prereqs. - * Makefile.am (SUBDIRS): Add doc. - * Makefile.in, configure: Regenerated. - -2008-02-27 Dave Brolley <brolley@redhat.com> - - PR5189 - * staptree.h (print_format::conv_memory): New enumerator. - (print_format::width_type): New enumeration. - (print_format::precision_type): New enumeration. - (format_component::widthtype): New member. - (format_component::prectype): New member. - (format_component::is_empty): Test widthtype and prectype. - (format_component::clear): Clear widthtype and prectype. - * staptree.cxx (print_format::components_to_string): Handle dynamic width and precision. - Handle conv_memory. - (print_format::string_to_components): Parse dynamic width and precision specifiers. - Set widthtype and prectype. Parse %m format specifier. - * elaborate.h (typeresolution_info::check_arg_type): New method. - * elaborate.cxx (typeresolution_info::visit_print_format): Account for dynamic width - and precision when computing the expected number of arguments. Check the types of - arguments for dynamic width and precision. Use check_arg_type to check the types of - all arguments. Handle print_format::conv_memory. - (typeresolution_info::check_arg_type): New method. - * NEWS: Describe the enhancements above. - -2008-02-27 David Smith <dsmith@redhat.com> - - PR5729 - * systemtap.spec.in: Adds examples to the testsuite rpm so that - systemtap.samples/examples.exp works correctly. - -2008-02-26 Dave Brolley <brolley@redhat.com> - - PR5018 - * staprun.8.in: Escape dashes ('-') as appropriate. - -2008-02-26 Srinivasa DS <srinivasa@in.ibm.com> - PR5772 - * tapset/syscall2.stp: Modify wait4,waitid argument list - for kernel > 2.6.24. - -2008-02-25 Frank Ch. Eigler <fche@elastic.org> - - PR5792. - * parse.cxx (eval_pp_conditional): Support wildcards in - %( kernel_v/kernel_vr/arch ==/!= "*foo?" %) operands. - * NEWS, stap.1.in: Document this. - -2008-02-22 Frank Ch. Eigler <fche@elastic.org> - - PR5787, PR2608, .statement() - * tapsets.cxx (query_dwarf_func): Process .statement(NUM) probes too. - (query_cu): Ditto. - (query_func_info): Bypass prologue searching for .statement() probes. - (query_cu): Ditto. - - (build_blacklist): Remove unsightly empty first alternative in - "^(|foo)$" regexps. Show them for -vvv. - - * buildrun.cxx (compile_pass): Don't turn on "gcc -Q" on until -vvvv. - -2008-02-20 David Smith <dsmith@redhat.com> - - * tapsets.cxx (struct mark_derived_probe): Renamed 'probe_sig' to - 'probe_format'. - (mark_derived_probe::mark_derived_probe): Added new "format" probe - point component. - (mark_derived_probe::parse_probe_format): Renamed from - 'mark_derived_probe::parse_probe_sig'. - (struct mark_builder): Added typedefs. Converted mark_cache from - a map to a multimap to handle markers with the same name but - different formats. - (mark_builder::build): Added new 'format' probe parameter. - (register_standard_tapsets): Added new 'format' marker probe - optional parameter. - * stapprobes.5.in (parts): Documented new "format" probe - component. - -2008-02-19 Roland McGrath <roland@redhat.com> - - * tapsets.cxx (query_module): Use dwfl_module_getdwarf rather - than dwfl_module_getelf for e_machine check. - (dwarf_query::get_blacklist_section): Likewise for section search. - Ignore non-SHF_ALLOC sections. - -2008-02-19 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_module): Tweak elf-machine checking to - better represent elfutils idioms. - -2008-02-19 Frank Ch. Eigler <fche@elastic.org> - - PR 5766. - * tapsets.cxx (build_blacklist): Switch (back) to regexp-based - blacklist construction ... - (blacklist_p): ... and querying. - -2008-02-19 David Smith <dsmith@redhat.com> - - PR 5672. - * tapsets.cxx (mark_derived_probe): Call probe_point copy ctor to - shallow-copy incoming base probe location before - recomputing/overwriting it. - -2008-02-18 Frank Ch. Eigler <fche@elastic.org> - - * NEWS, stapprobes.5.in: Document basic (non-symbolic prototype) - user-space probe points. - -2008-02-15 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (function_name_last_match): New function. - (query_dwarf_func): Call it to stop unnecessary further iteration. - -2008-02-13 Frank Ch. Eigler <fche@elastic.org> - - PR 5759 - * tapsets.cxx (build_blacklist): Add some CONFIG_PREEMPT-related - functions. - -2008-02-13 Dave Brolley <brolley@redhat.com> - - PR5609 - * staptree.h (probe::collect_derivation_chain): Now takes vector<probe*>. - (probe::get_alias): New virtual method. - * elaborate.h (derived_probe::collect_derivation_chain): Now takes vector<probe*>. - * staptree.cxx (probe::collect_derivation_chain): Now takes vector<probe*>. Don't - cast 'this' to (derived_probe*). - * elaborate.cxx (derived_probe::collect_derivation_chain): Now takes vector<probe*>. - (alias_derived_probe::get_alias): New virtual method. - (alias_derived_probe::alias): New member. - (alias_expansion_builder::build): Call checkForRecursiveExpansion and emit a - diagnostic if recursion is detected. Pass alias to constructor of - alias_derived_probe. - (alias_expansion_builder::checkForRecursiveExpansion): New method. - * coveragedb.cxx: Pass vector<probe*> on all calls to collect_derivation_chain. - -2008-02-12 Frank Ch. Eigler <fche@elastic.org> - - PR 4393 - * tapsets.cxx (emit_address): Support relocatable kernels. - (dwarf_derived_probe ctor): Hack around for missing USHRT_MAX. - * elaborate.cxx (semantic_pass): Increment rc if exception caught. - -2008-02-12 Martin Hunt <hunt@redhat.com> - PR 5757 - * tapsets.cxx, translate.cxx: Cleanup indentation a bit. - -2008-02-11 Jim Keniston <jkenisto@us.ibm.com> - - PR 5693 - * runtime/uprobes/uprobes.c: Intercept handler-destined - signals received while we're single-stepping, and re-queue - them afterward. - * runtime/uprobes/uprobes.h: Ditto - -2008-02-09 Frank Ch. Eigler <fche@elastic.org> - - PR5750. - From Eugeniy Meshcheryakov eugen@debian.org: - * configure.ac (HAVE_LIBSQLITE3): Complete AC_DEFINE. - - * configure, INSTALL, missing, compile, depcomp, install-sh: - autoreconf -fi'd. - -2008-02-09 Frank Ch. Eigler <fche@elastic.org> - - PR 5751. - * configure.ac: Add -Werror to trial compilation with - -fstack-protector-all, for hosts that don't quite support it. - * configure: Regenerated. - -2008-02-08 David Smith <dsmith@redhat.com> - - PR 5650 - * systemtap.spec.in: Further simplification. - -2008-02-07 Frank Ch. Eigler <fche@elastic.org> - - * buildrun.cxx (run_make_cmd, compile_pass): Tweak kbuild - parametrization to produce useful compile logs at -vv. - -2008-02-04 David Smith <dsmith@redhat.com> - - PR 4446 (partial) - * tapsets.cxx - (mark_var_expanding_copy_visitor::visit_target_symbol_arg): New - function. - (mark_var_expanding_copy_visitor::visit_target_symbol_format): New - function. - (mark_var_expanding_copy_visitor::visit_target_symbol): Handles - "$arg" or "$format". - (mark_derived_probe_group::emit_module_decls): Sets up "$format" - data. - - PR 5650 (parital) - * systemtap.spec.in: Moved %pre section to the systemtap-runtime - rpm. - -2008-01-30 David Smith <dsmith@redhat.com> - - PR 5650 - * systemtap.spec.in: Simplified and explicitly specifies configure - options. - -2008-01-30 Dave Brolley <brolley@redhat.com> - - * coveragedb.cxx (print_coverage_info): Fix typo: s.probes -> s.unused_probes - where appropriate. - (sql_update_unused_probes): Likewise. - -2008-01-29 Frank Ch. Eigler <fche@elastic.org> - - PR 5647 - * configure.ac (--enable-ssp): Make default on compilers that - support it. - * configure: Regenerated. - -2008-01-28 David Smith <dsmith@redhat.com> - - * configure.ac: Fixed a bug when "--disable-permon" was used. - Added "--enable-crash" option. - * configure: Regenerated. - * Makefile.am: Improved staplog.so compile command. - * Makefile.in: Regenerated. - - * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): - Added 'const' to several members of stap_dwarf_probes. - - PR 5685. From Eugeniy Meshcheryakov <eugen@debian.org> - * configure.ac: If "--enable-sqlite" is specified, define - HAVE_LIBSQLITE3. - * configure: Regenerated. - -2008-01-26 Frank Ch. Eigler <fche@elastic.org> - - PR 5673. - * tapsets.cxx (dwarf_derived_probe_group): Split stap_dwarf_probes[] - into bss-carried kprobes structs. Tune embedded strings for - minimizing relocation-vs-fixed-buffer wastage. - * tapsets.cxx (dwarf_derived_probe): Impose .maxactive() limits. - -2008-01-25 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes.c: Within a probed process, serialize - calls to access_process_vm() when populating instructions - slots. Fixes an SMP bug on multithreaded apps with many - active probepoints. - * runtime/uprobes/uprobes.h: Ditto - -2008-01-25 Frank Ch. Eigler <fche@elastic.org> - - PR 5672. - * staptree.cxx (probe_point copy ctor): New function. - * staptree.h: Declare it. - * tapsets.cxx (dwarf_derived_probe ctor): Call it to shallow-copy - incoming base probe location before recomputing/overwriting it. - -2008-01-25 David Smith <dsmith@redhat.com> - - * configure.ac: Compressed the two perfmon options into one. - Made other small fixes and whitespace changes. - * configure: Regenerated. - -2008-01-24 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am: Make another $(MKDIR) call visible. - * Makefile.in: Regenerated. - -2008-01-24 David Smith <dsmith@redhat.com> - - PR 5661 (reverted). - * configure.ac: Removed elfutils version number check. - * configure: Regenerated. - * acsite.m4: Removed. - * systemtap.spec.in: Minimum elfutils version number is no longer - filled in by configure. - - PR 5650 (partial). - * configure.ac: Handles sqlite optional functionality correctly. - If enabled/disabled by the user, do the right thing. If not - specified by the user, use it if present. - * configure: Regenerated. - * systemtap.spec.in: Always specify to configure whether to use - sqlite or not. - -2008-01-24 Dave Brolley <brolley@redhat.com> - - PR 5017. - * staptree.cxx (<cstring>): #include it. - (required <indexable *>): Remove 'static' from instantiation and - move instantiation to here from... - * staptree.h: ...here. - -2008-01-23 David Smith <dsmith@redhat.com> - - PR 5661. - * configure.ac: Checks elfutils version number. - * acsite.m4: New file containing macro to return elfutils version - number. - * configure: Regenerated. - * systemtap.spec.in: Minimum elfutils version number is now filled - in by configure. - -2008-01-23 Dave Brolley <brolley@redhat.com> - - PR 5613. - * translate.cxx (var::fini): New method. - (c_unparser::emit_module_init): Call var::fini when deregistering - variables without indices. - (c_unparser::emit_module_exit): Likewise. - -2008-01-23 Frank Ch. Eigler <fche@elastic.org> - - PR 2151. - * tapsets.cxx (dwflpp::setup): Parametrize debuginfo_path. - * stap.1.in: Document this. - -2008-01-22 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes.c: Fix from Srinivasa: Recast - rcu_dereferences of engine->data to resync with kernel.org - builds. - -2008-01-18 Srinivasa DS <srinivasa@in.ibm.com> - - PR 5549 - * buildrun.cxx : Verify whether kernel has register rename patch - through autoconf files. - * runtime/(loc2c-runtime.h, procfs.c, regs.c, regs.h, - stack-i386.c, autoconf-x86-uniregs.c, autoconf-nameidata.c) : Use - appropriate register name at runtime, based on whether kernel has - register rename patch or not. - -2008-01-18 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes.c: Added static copy of - access_process_vm(), for kernels that don't export it. - -2008-01-18 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, systemtap.spec.in: Update version to 0.6.1 - * configure: Regenerated. - -2008-01-17 Srinivasa DS <srinivasa@in.ibm.com> - - PR 5483 - * tapsets.cxx : Possible fix for making systemtap compatible with - the elfutils-0.131 - -2008-01-17 Frank Ch. Eigler <fche@elastic.org> - - PR 4935. - Reorganize probe condition implementation. - * elaborate.cxx (add_condition): New function. - (derived_probe): Remove condition member. - (derived_probe ctors): Assert non-null incoming probe/location ptrs. - (insert_condition_statement): Remove; turn into ... - (semantic_pass_conditions): New pass-2 subpass. - (semantic_pass_symbols, visit_symbol, visit_functioncall, find_var): - Detect some condition-related error cases. - (match_key): Change type to exp_type from tok_type. Update callers. - (alias_expansion_builder): Propagate probe conditions. - * staptree.cxx (probe): Remove condition field and related functions. - * tapsets.cxx (dwarf_derived_probe ctor): Compute replacement - wildcard-expanded probe_point preserving more of the original - location. - (mark_derived_probe ctor): Make similar to others - take location - rather than condition parameters. - * translate.cxx (emit_common_header): Tweak ordering of tmpcounter - traversal and hashkey expression generation. - * elaborate.h: Corresponding changes. - -2008-01-17 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (procfs_var_expanding_copy_visitor::visit_target_symbol): Print an - error when trying to use the procfs target variable '$value' as an - array or structure. - (perfmon_var_expanding_copy_visitor::visit_target_symbol): Print an - error when trying to use the perfmon target variable '$counter as - an array or structure. - -2008-01-17 Srinivasa DS <srinivasa@in.ibm.com> - - PR 5483. - * tapsets.cxx (emit_address): Tolerate dummy relocation entry - added for kernel by recent elfutils. - -2008-01-16 David Smith <dsmith@redhat.com> - - PR 5608. - * tapsets.cxx - (mark_var_expanding_copy_visitor::visit_target_symbol): Print an - error when trying to use a marker argument as an array or - structure. - -2008-01-16 Eugene Teo <eteo@redhat.com> - - * stapfuncs.5.in: Document signal.stp tapset functions. - -2008-01-14 Martin Hunt <hunt@redhat.com> - * translate.cxx (emit_module_init): Call _stp_print_kernel_info() - to print out version information and internal memory usage stats. - -2008-01-14 Martin Hunt <hunt@redhat.com> - * translate.cxx (emit_module_exit): When using timing, delete timing - stats when finished. - -2008-01-12 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Generate a build tree SNAPSHOT file from git-rev-list, - if we suspect the source tree came from git. - * configure: Regenerated. - -2008-01-12 Frank Ch. Eigler <fche@elastic.org> - - PR 5603. - * configure.ac: Add "--enable-ssp" to select -fstack-protector-all - and similar runtime checking directives. - * configure: Regenerated. - -2008-01-09 David Smith <dsmith@redhat.com> - - * systemtap.spec.in: Since "make check" was removed - from the rpm build step, we no longer need to require dejagnu at - build time. - -2008-01-09 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (dwflpp::setup): Improve missing kernel-debuginfo - message. - -2008-01-02 Frank Ch. Eigler <fche@elastic.org> - - From Mark McLoughlin <markmc@redhat.com>: - * main.cxx (main): Set/restore umask around mkdtemp(). - -2007-12-27 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes_x86_64.c: Fix handling of indirect - jmps and calls that use rip-relative addressing. Allow probing - of opcode 0x63. - -2007-12-13 Masami Hiramatsu <mhiramat@redhat.com> - - * stap.1.in: Document about relay buffer sharing. - * NEWS: Document about relay buffer sharing and staplog crash extension. - -2007-12-12 Wenji Huang <wenji.huang@oracle.com> - - PR 5470 - * parse.cxx (parser::parse_probe_point): Add checking pointer t. - -2007-12-11 Frank Ch. Eigler <fche@elastic.org> - - * staptree.cxx, staptree.h: More GCC 4.3 build fixes from - Eugeniy Meshcheryakov <eugen@debian.org>. - -2007-12-05 William Cohen <wcohen@redhat.com> - - * systemtap.spec.in: Correct Source to point to location contain code. - -2007-12-05 Masami Hiramatsu <mhiramat@redhat.com> - - PR 4935 - * tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Allow user - to access kernel variables in the condition of probe points. - * stapprobes.5.in : Document the conditional probe point. - * NEWS : Ditto. - -2007-12-03 Masami Hiramatsu <mhiramat@redhat.com> - - PR 5376 - * parse.cxx (lexer::scan): Treat '*' as an alphabet if the wildcard - flag is true. - (parser::parse_probe_point): Call parser::next() with wildcard = true. - (parser::scan_pp): Add wildcard flag and pass it to lexer::scan. - (parser::next): Ditto. - (parser::peek): Ditto. - * parse.h : Ditto. - -2007-12-01 Frank Ch. Eigler <fche@elastic.org> - - * gen-stapmark.h, stapmark.h: Retire. - -2007-11-29 David Smith <dsmith@redhat.com> - - * tapsets.cxx (mark_derived_probe::initialize_probe_context_vars): - Handles the case where one marker has more than one string - argument. - -2007-11-27 David Smith <dsmith@redhat.com> - - PR 5377. - * elaborate.cxx (match_node::find_and_build): Handle wildcards in - probe points correctly. - -2007-11-26 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (derived_probe ctor): Don't duplicate condition - if it doesn't exist. - * staptree.cxx (probe_point, probe ctors): Initialize to 0. - -2007-11-20 Masami Hiramatsu <mhiramat@redhat.com> - - PR 4935. - * parse.cxx (parser::parse_probe_point): Parse "if" condition - following probe point. - * staptree.h (probe_point): Add "condition" field. - (probe): Add "condition" field and "add_condition" method. - (deep_copy_visitor): Add "deep_copy" method for the expression. - * staptree.cxx (probe_point::probe_point): Initalize it. - (probe::add_condition): Implement it. - (probe::print): Output "condition" field. - (probe::str): Ditto. - (deep_copy_visitor::deep_copy): Implement it. - * elaborate.h (derived_probe): Add "insert_condition_statement" - method. - * elaborate.cxx (derived_probe::derived_probe): Initialize "condition" - field, and insert a condition check routine on the top of body. - (derived_probe::insert_condition_statement): Implement it. - (alias_expansion_builder::build): Pass the condition from the alias - referer to new alias. - * tapsets.cxx (be_derived_probe): Remove unused constructor. - (dwarf_derived_probe::dwarf_derived_probe): Insert a condition check - routine on the top of body. - (mark_derived_probe::mark_derived_probe): Ditto. - (mark_builder::build): Pass the base location to mark_derived_probe. - - -2007-11-19 Frank Ch. Eigler <fche@elastic.org> - - PR 3887. - * staptree.h (probe_point): Add "sufficient" field. - * staptree.cxx: Initialize it, print it. - * parse.cxx (parse_probe_point): Parse it. - * elaborate.cxx (derive_probes): Implement it. - * stapprobes.5.in: Document it. - * NEWS: Gloat about it. - -2007-11-15 David Smith <dsmith@redhat.com> - - * tapsets.cxx (mark_derived_probe::initialize_probe_context_vars): - Updated to work with latest LTTNG patch - patch-2.6.24-rc2-lttng-0.10-pre23.tar.bz2. - (mark_derived_probe_group::emit_module_decls): Ditto. - (mark_derived_probe_group::emit_module_init): Ditto. - (mark_derived_probe_group::emit_module_exit): Ditto. - - * translate.cxx (c_unparser::emit_common_header): Ditto. - -2007-11-15 Mike Mason <mmlnx@us.ibm.com> - - * systemtap.spec.in: Removed "make check" from rpm build steps - -2007-11-15 David Smith <dsmith@redhat.com> - - * tapsets.cxx: Removed mark_query structure. - (mark_derived_probe::mark_derived_probe): Just looks for "kernel" - marker probes. - (mark_builder::build_no_more): No longer kern_dw, instead clears - the marker cache. - (mark_builder::build): Now parses Module.markers file to find - marker list and stores them in a cache. - (register_standard_tapsets): Removed 'module("foo").mark("bar")'. - All markers now go through 'kernel.mark("bar")'. - - * stapprobes.5.in (parts): Updated marker text. - -2007-11-14 Jim Keniston <jkenisto@us.ibm.com> - - PR 5324 - * main.cxx: Restored initialization of need_uprobes flag, - mistakenly backed out in PR 5270 fix. - -2007-11-14 Zhaolei <zhaolei@cn.fujitsu.com> - - * stapfuncs.5.in (tokenize): Change NULL to blank to avoid - misunderstanding. - -2007-11-13 Jim Keniston <jkenisto@us.ibm.com> - - PR 5270 - * main.cxx: Restored pre-10-08 version: moved uprobes build to - buildrun.cxx. - * buildrun.cxx: Reworked uprobes build so that the resulting - Module.symvers can be used in building the stap-generated - module. If user isn't root, call verify_uprobes_uptodate() - rather than trying (and failing) to rebuild uprobes.ko. - * buildrun.h: uprobes_enabled() and make_uprobes() are no - longer extern. - * runtime/uprobes/Makefile: Added uprobes.ko target for use - by verify_uprobes_uptodate(). - -2007-11-12 Martin Hunt <hunt@redhat.com> - - * stap.1.in: Replaced references to the log() function. - * stapex.5.in: Ditto. - * stapfuncs.5.in: Ditto. ALso remove print and printf. They are - documented in stap.1.in. - -2007-11-12 Martin Hunt <hunt@redhat.com> - - * translate.cxx (visit_print_format): Strings without a format or - formatted with "%s" or "%s\n" should be printed with calls to _stp_print(). - Call _stp_print_char() if printing a char. - - * staptree.cxx (parse_print): Check for "print_char". - - * staptree.h (struct print_format): Add print_char. - (parse_print): Update prototype. - - * parse.cxx (parse_symbol): Set print_char bool in print_format. - -2007-11-12 Martin Hunt <hunt@redhat.com> - - * tapsets.cxx (build_blacklist): Add __raw_spin_is_locked. - -2007-10-25 Josh Stone <joshua.i.stone@intel.com> - - PR 5219 - * stap.1.in: Add a note about string literal limitations in printf - and printd. - -2007-10-22 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes_x86_64.[ch]: Added x86_64 uprobes support - -2007-10-19 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes_ppc64.h,uprobes_s390.c: Fixed 10/16 - update to arch_validate_probed_insn() decl. - -2007-10-19 Masami Hiramatsu <mhiramat@redhat.com> - - * staplog.c: Cleanup code and remove end-of-line spaces. - (create_output_filename): Use snprintf instead of sprintf and remove - malloc(). - (print_rchan_info): Merge into output_cpu_logs(). - (open_output_file): Use GETBUF() instead of malloc(). - (output_cpu_logs): Simplify logic and remove unused code. - (do_staplog): Merge into cmd_staplog(). - (help_staplog): Fix typos. - * Makefile.am (STAPLOG): Add -Wall option. - * Makefile.in: Regenerated. - -2007-10-19 Masami Hiramatsu <mhiramat@redhat.com> - - From Satoru Moriya <satoru.moriya.br@hitachi.com>: - * staplog.c (create_output_dir): New function for creating output - directory. - (create_output_filename): New function for making output filename. - (print_rchan_info): New function for displaying relay channel status. - (open_output_file): New function for opening output file. - (output_cpu_logs): Cleanup code and fix bugs to retrieve buffer - data even when the last buffer is full and even if the systemtap - uses old(non-utt) format. Add a routine for '-a' option. - (cmd_staplog): Add '-a' option. - (help_staplog): Ditto. - -2007-10-18 Mike Mason <mmlnx@us.ibm.com> - - * stapprobes.5.in: Removed C label reference. - Clarified source path requirements for probe - definitions. Fixed some vertical spacing - issues. - -2007-10-18 Mike Mason <mmlnx@us.ibm.com> - - * stapfuncs.5.in: Corrected tokenize description. - Added task_* functions. - -2007-10-16 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes.[ch], uprobes_i386.[ch], - uprobes_ppc64.h, uprobes_s390.h: Adjusted SLOT_IP and - arch_validate_probed_insn to accept task pointer (needed by - x86_64); added uprobe_probept_arch_info and uprobe_task_arch_info - (ditto). - * runtime/uprobes/uprobes_i386.c: Fixed a couple of glitches - discovered when porting to x86_64 - -2007-10-15 Roland McGrath <roland@redhat.com> - - PR 5101 - * loc2c.c (struct location): Replace regno union member with struct - member reg, fields regno and offset. - (translate): Update uses. - (emit_base_fetch, emit_base_store, emit_loc_register): Likewise. - Fail if reg.offset is not zero. - (location_relative): Handle DW_OP_plus_uconst relative to loc_register. - (c_translate_array): Handle array index into loc_register. - -2007-10-15 David Smith <dsmith@redhat.com> - - * tapsets.cxx (mark_query::handle_query_module): Checks for marker - to be in the proper section. - (mark_derived_probe_group::emit_module_decls): Updated emitted - marker C code for 10/2/2007 markers patch. Fixes PR 5178. - - From David Wilder <dwilder@us.ibm.com> - * tapsets.cxx (mark_query::handle_query_module): Updated to handle - 64-bit platforms correctly. - -2007-10-15 Zhaolei <zhaolei@cn.fujitsu.com> - - From Cai Fei <caifei@cn.fujitsu.com> - * conversions.stp: Add a function kernel_string_n for copy - non-0-terminated string with fixed length from kernel space at - given address. - * stapfuncs.5.in: Add kernel_string_n. - * nfsd.stp: Using kernel_string_n to copy non-0-terminated string - with fixed length from kernel space at given address. - * nfs_proc.stp: Ditto. - -2007-10-12 David Smith <dsmith@redhat.com> - - * tapsets.cxx (dwflpp::setup): Added 'debuginfo_needed' parameter - to not error if no debuginfo present. - (hex_dump): New function. - (mark_query::handle_query_module): Updated for - 10/2/2007 markers patch. Currently only handles markers in the - kernel image itself - not in modules. - -2007-10-12 Martin Hunt <hunt@redhat.com> - - * Makefile.am (staprun_LDADD): Add -lpthread. - * Makefile.in: Rebuilt. - -2007-10-11 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Make -testsuite subrpm require dejagnu. - -2007-10-10 Jim Keniston <jkenisto@us.ibm.com> - - * runtime/uprobes/uprobes_ppc64.[ch]: Added - * runtime/uprobes/uprobes_s390.[ch]: Added - -2007-10-09 Jim Keniston <jkenisto@us.ibm.com> - - PR 5083 - * runtime/uprobes/uprobes.c: Adjust module ref-count - when creating or removing uprobe_process, so "rmmod - --wait uprobes" waits as needed until uretprobed - functions return. - -2007-10-08 Jim Keniston <jkenisto@us.ibm.com> - - PR 5079 - * main.cxx: Add pass 4.5: make uprobes.ko in runtime/uprobes - * buildrun.cxx: Add uprobes_enabled() and make_uprobes(). - Factor run_make_cmd() out of compile_pass(). - * buildrun.h: Add uprobes_enabled and make_uprobes decls. - * tapsets.cxx: Do correct #include for modprobed uprobes.ko; - set need_uprobes in pass 2. - * session.h: Add need_uprobes - - * runtime/staprun/common.c: Add -u option -> need_uprobes - * runtime/staprun/staprun_funcs.c: Generalize insert_module() - to support inserting uprobes.ko. - * runtime/staprun/staprun.c: Add enable_uprobes(). insert_module - call becomes insert_stap_module(). - * runtime/staprun/staprun.h: Reflect insert_module() and - need_uprobes changes - - * runtime/uprobes/*.[c,h]: uprobes is built as a module, - rather than included into the source of the stap-generated - module. - * runtime/uprobes/Makefile: Added - -2007-10-05 Frank Ch. Eigler <fche@elastic.org> - - PR 1119 - * elaborate.cxx (semantic_pass_opt[12]): Warn on elided - variables/functions in user script. - * session.h (suppress_warnings): New field. Change - "timing" to plain old bool. - * main.cxx (main): Configure warnings on by default. - * stap.1.in: Document this. - -2007-10-05 Frank Ch. Eigler <fche@elastic.org> - - PR 5036 - * systemtap.spec.in: Create new systemtap-testsuite sub-rpm. - Install crash(8)'s staplog.so into -runtime sub-rpm if built. - * Makefile.am (rpm): New target. - * Makefile.in: Regenerated. - -2007-10-04 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Document inet.stp tapset functions. - -2007-10-04 David Smith <dsmith@redhat.com> - - * buildrun.cxx (compile_pass): Tweaked build system for the - 2.6.23-rc8-mm2 kernel. - -2007-10-03 Frank Ch. Eigler <fche@elastic.org> - - PR 5102 - * translate.cxx (visit_statement): Add new parameter regarding whether - c->last_stmt needs to be updated. Update callers, mostly passing - "false". - (visit_EXPRESSIONTYPE): Generally omit setting c->last_stmt, unless - the construct can set c->last_error. - -2007-10-03 Frank Ch. Eigler <fche@elastic.org> - - PR 5096 - * translate.cxx (emit_function): Put nesting limit/control logic into - function body ... - (visit_functioncall): ... and not into each call site. - -2007-10-02 Frank Ch. Eigler <fche@redhat.com> - - PR 3635 - * translate.cxx (emit_global): Wrap all globals and locks into one - top-level struct. Update references to former "global_VAR" prefix. - * translate.h (emit_global_init): New function. - -2007-10-02 Frank Ch. Eigler <fche@redhat.com> - - PR 5078 - * tapsets.cxx (be_derived_probe): Rework to add error probe support. - Emit probe description array in C for traversal by generated code. - * register_standard_tapsets: Add error probes. - * stapprobes.5.in: Document. - * translate.cxx (emit_module_init): Handle errors that may occur - during begin probes. - (emit_module_exit): Use schedule() rather than cpu_relax() during - shutdown synchronization wait loop. - * staptree.cxx (probe::printsig): Put multiple probe points on same - line. - -2007-09-28 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.in: Regenerated from Jim Keniston's uprobes Makefile.am - changes. - -2007-09-25 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (translator_output::~translator_output): Fix mismatched - delete / delete []. - -2007-09-25 David Smith <dsmith@redhat.com> - - * tapsets.cxx (mark_query::handle_query_module): Updated for - 9/18/2007 markers patch. - (mark_derived_probe::parse_probe_sig): Ditto. - (mark_derived_probe_group::emit_module_decls): Ditto. - (mark_derived_probe_group::emit_module_init): Ditto. - (mark_derived_probe_group::emit_module_exit): Ditto. - -2007-09-24 Masami Hiramatsu <mhiramat@redhat.com> - - PR 3916 - * buildrun.cxx (compile_pass): Add new autoconf options for checking - time related APIs. - -2007-09-21 Frank Ch. Eigler <fche@elastic.org> - - rhbz #300121 - * elaborate.cxx (dead_stmtexpr_remover): Add visit_if_statement, - visit_foreach_loop, visit_for_loop): Support elision for unbraced - statement bodies. - (visit_expr_statement): Assert absence of unexpected nesting. - -2007-09-17 David Smith <dsmith@redhat.com> - - PR 1154 - * stapprobes.5.in: Documented procfs probes. - - * tapsets.cxx (procfs_builder::build): Validate procfs path. - -2007-09-14 David Smith <dsmith@redhat.com> - - PR 1154 - * tapsets.cxx - (procfs_var_expanding_copy_visitor::visit_target_symbol): - Disallows reading from $value in a procfs read probe. - -2007-09-14 David Smith <dsmith@redhat.com> - - PR 1154 - * tapsets.cxx (procfs_derived_probe_group::emit_module_init): - Fixed problem where if only one type (read/write) of procfs probe - was defined, the generated code wouldn't compile. - -2007-09-13 David Smith <dsmith@redhat.com> - - PR 1154 - * tapsets.cxx (procfs_derived_probe::procfs_derived_probe): - Removed debug print. - (procfs_derived_probe_group::emit_module_decls): Improved error - handling and added support for procfs.write probes. - (procfs_var_expanding_copy_visitor::visit_target_symbol): Removed - debug print. - -2007-09-12 Frank Ch. Eigler <fche@elastic.org> - - * parse.cxx (parse_symbol): Accept println(@hist*()). - -2007-09-12 Frank Ch. Eigler <fche@elastic.org> - - PR 5023 - * translate.cxx (c_unparser::visit_literal_number): Support LLONG_MIN. - (visit_unary_expression): Likewise. - -2007-09-12 Martin Hunt <hunt@redhat.com> - - PR 5019 - * elaborate.cxx (visit_hist_op): Remove log histogram param. - * translate.cxx (assert_hist_compatible): Ditto. - * staptree.cxx (hist_op::print): Ditto. - * session.h (statistic_decl): Ditto. - - * parse.cxx (expect_number): Allow negative numbers. - Also validate that input is really numeric. This is used - by histograms to get the parameters. - (parse_hist_op_or_bare_name): Remove code to get parameter - for log histograms. - -2007-09-12 David Smith <dsmith@redhat.com> - - * translate.cxx (c_unparser::emit_common_header): Added 'data' - variable to context structure to support procfs probes. - * tapsets.cxx: Improved procfs probe handling. - -2007-09-10 David Smith <dsmith@redhat.com> - - * tapsets.cxx (procfs_derived_probe_group::emit_module_init): - Improved procfs probe handling (still non-working). - (procfs_builder::build): Ditto. - (register_standard_tapsets): Ditto. - (all_session_groups): Ditto. - -2007-09-10 Martin Hunt <hunt@redhat.com> - - * tapsets.cxx, session.h, elaborate.cxx: Start of procfs - interaction support. PR 1154. - -2007-09-06 Masami Hiramatsu <mhiramat@redhat.com> - - PR 4542 - * tapsets.cxx (dwarf_query::build_blacklist): add __switch_to to - blacklisted_return_probes on i686 - -2007-08-30 David Smith <dsmith@redhat.com> - - PR 4983 - * translate.cxx (c_tmpcounter::visit_print_format): Don't declare - temporaries for number and string constants. - (c_unparser::visit_print_format): Use numeric and string constants - directly instead of copying them into temporaries. - -2007-08-27 Frank Ch. Eigler <fche@redhat.com> - - PR 4817 - * NEWS: Mention retirement of LKET. - * configure.ac: Remove mysql dependency. - * systemtap.spec.in: Remove glib2 dependency. - * configure, config.in: Regenerated. - -2007-08-24 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Check for proper $PROCFLAGS-dependent -lcap. - * Makefile.am (staprun_LDADD): Use autoconf variable rather than - -lcap literal. - * configure, aclocal.m4, Makefile.in, config.in: Regenerated. - -2007-08-24 Frank Ch. Eigler <fche@redhat.com> - - PR 4899 - * tapsets.cxx (dwflpp::has_single_line_record): Extended, - abstraction violated. - (iterate_over_srcfile_lines): Remove exactly line number match - logic. Improve error message to offered better-checked alternative - line numbers. - (query_srcfile_line): Whoops, pass scope_die down for statement("...") - probes, to enable $target var processing. - -2007-08-21 David Smith <dsmith@redhat.com> - - PR 2305 - * translate.cxx (c_unparser::visit_foreach_loop): When the user - requested sorting an array of aggregates by value, sort by - @count. - -2007-08-20 Martin Hunt <hunt@redhat.com> - - PR 2424 - From Lai Jiangshan <laijs@cn.fujitsu.com: - * util.cxx (cmdstr_quoted): New. Properly quote - command string. - * buildrun.cxx (run_pass): Call cmdstr_quoted(). - -2007-08-20 Frank Ch. Eigler <fche@elastic.org> - - From Satoru MORIYA <satoru.moriya.br@hitachi.com> - * staplog.c: Updated. - -2007-08-20 David Smith <dsmith@redhat.com> - - From Lai Jiangshan <laijs@cn.fujitsu.com> - * main.cxx (main): Make sure the '-c' and '-x' options can't be - specified together. - -2007-08-17 Frank Ch. Eigler <fche@elastic.org> - - As suggested by "Zhaolei" <zhaolei@cn.fujitsu.com>: - * elaborate.cxx (semantic_pass_optimize[12], - unresolved, invalid, mismatch): Use stringstream and - print_error(semantic_error) instead of ad-hoc cerr. - -2007-08-16 Frank Ch. Eigler <fche@elastic.org> - - PR 1315. - * stapfuncs.5.in: Document new target_set tapset. - -2007-08-16 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (install-exec-hook): Only make staprun setuid if - "make install" is being run as root. - * Makefile.in: Regenerated. - -2007-08-16 Josh Stone <joshua.i.stone@intel.com> - - PR 4591 - * parse.cxx (parser::parse_symbol): Tweak 'print' matching to allow - all the new variants with printd and println. - * staptree.h (struct print_format): Add fields for the new print - variants, and parse_print() to help matching. - * staptree.cxx (print_format::parse_print): New static method to - match the print variants and determine their properties. - (print_format::print): Handle the new print types. - (deep_copy_visitor::visit_print_format): Copy the new fields. - * translate.cxx (c_unparser::visit_print_format): Insert delims and - newlines where appropriate for new print functions. - * stap1.in: Document the new print functions. - -2007-08-15 David Smith <dsmith@redhat.com> - - * systemtap.spec.in: Updated %pre to latest Fedora group creation - guidelines. - - * stap.1.in: Changed '/usr' to '@prefix@' so the values will be - updated correctly. - * stapfunc.5.in: Ditto. - - * README.security: Typo fix. - -2007-08-15 Martin Hunt <hunt@redhat.com> - - * Makefile.am: Removed stap_merge. - * Makefile.in: Rebuilt. - -2007-08-14 David Smith <dsmith@redhat.com> - - Merge from setuid-branch. Changes also by Martin Hunt - <hunt@redhat.com>. - - * Makefile.am: Added staprun_funcs.c and cap.c to - staprun_SOURCES. Added -lcap to staprun_LDADD. Removed - stp_check reference. Added stapio program. Staprun is now - setuid. - * Makefile.in: Rebuilt. - - * configure.ac: Version increase to 0.6 and checks for libcap - availability. Removed stp_check reference. - * configure: Regenerated. - * stp_check.in: Removed. - - * systemtap.spec.in: Version increase to 0.6-1 and added - BuildReq for libcap-devl (and removed sudo requirement). - Added %pre script to create new groups. Staprun is now - setuid. - - * NEWS: Added info on new security model. - * INTERNALS: Removed sudo reference. - - * README.security: New file. - - * main.cxx (main): Make sure module name isn't too long. - * hash.cxx: Moved MODULE_NAME_LEN define to hash.h. - * hash.h: Moved MODULE_NAME_LEN define here from hash.cxx. - - * buildrun.cxx (run_pass): No longer runs staprun with "sudo". - - * stap.1.in: Removed sudo references and added information about - the stapdev/stapusr groups. - * staprun.8.in: Added information about module detaching and - attaching. Removed sudo references and added information - about the stapdev/stapusr groups. Removed reference to - staprun needing to be run as root. Removed reference to - removed '-u USERNAME' option. - - * .cvsignore: Removed stp_check and added stapio and stap_merge. - -2007-08-10 Josh Stone <joshua.i.stone@intel.com> - - PR 4593 - * translate.cxx (c_unparser::emit_common_header): Add an - error_buffer to the context to allow dynamic error messages. - * tapsets.cxx (dwflpp::express_as_string): Let deref / store_deref - fill in last_error with a detailed message. - -2007-08-09 Frank Ch. Eigler <fche@elastic.org> - - From Lai Jiangshan <laijs@cn.fujitsu.com>: - * translate.cxx (emit_module_exit): Use stp_warn for warning. - -2007-08-07 Frank Ch. Eigler <fche@redhat.com> - - PR 4846 - * parse.cxx (input_put): New function, sort of like stdio ungetc. - (input_get): Skip cursor position changing for input_put strings. - (scan): Rework $.../@... substitution into character pasting. - * parse.h: Corresponding changes. - * util.h (lex_cast_qstring): Octal-quote unprintable characters. - * stap.1.in, NEWS: Document new behaviour. - -2007-07-26 David Smith <dsmith@redhat.com> - - PR 4295 - * main.cxx (main): If '-m MODNAME' is used, the generated module - is saved in the current directory. - * stap.1.in: Updated '-m' description. - -2007-07-11 William Cohen <wcohen@redhat.com> - - * systemtap.spec.in: Make sqlite support selectable. - -2007-07-11 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Don't AC_MSG_ERROR if don't HAVE_LIBSQLITE3. - * coveragedb.cxx: Compile to nothing unless HAVE_LIBSQLITE3. - * main.cxx: Print no error message on -q if HAVE_LIBSQLITE3. - * configure: Regenerated, looks rosier with HAVE_LIBSQLITE3. - -2007-07-08 William Cohen <wcohen@redhat.com> - - PR 4529 - * coveragedb.cxx (update_coverage_db): Make index "unique" to optimize. - -2007-07-08 William Cohen <wcohen@redhat.com> - - PR 4529 - * coveragedb.h (db_type): New enum for type column in coverage_element. - (coverage_element): Remove removed column, change type to int. - * coveragedb.cxx (has_table, has_index): New. - (update_coverage_db): Use has_table, has_index. - (enter_element): Change for new table format. - (increment_element): Ditto. - (sql_update_used_probes): Ditto. - (sql_update_unused_probes): Ditto. - (sql_update_used_functions): Ditto. - (sql_update_unused_functions): Ditto. - (sql_update_used_globals): Ditto. - (sql_update_unused_globals): Ditto. - (update_coverage_db): Ditto. - (print_coverage_info(systemtap_session): Relocate vector. - (sql_update_used_probes): Ditto. - (sql_update_unused_probes): Ditto. - -2007-07-03 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Bumped version to 0.5.15 for development. - * configure: Regenerated. - -2007-07-03 Roland McGrath <roland@frob.com> - - * Makefile.am (install-exec-local, install-elfutils): Use $(DESTDIR). - (SRCDIR): Variable removed. - (check): Use sh code in commands instead. - * Makefile.in: Regenerated. - -2007-07-02 William Cohen <wcohen@redhat.com> - - PR 4717 - From Eugeniy Meshcheryakov <eugen@debian.org> - * staptree.cxx: Add #include <cstdlib> for gcc 4.3. - -2007-07-02 Frank Ch. Eigler <fche@rechat.com> - - * staplog.c: New file from Satoru MORIYA - <satoru.moriya.br@hitachi.com>, prototype crash(8) extension module. - * configure.ac: Look for crash/defs.h. - * Makefile.am: Build/install staplog.so shared library if found. - * configure, Makefile, config.in, runtime/lket/b2a/Makefile.in: - Regenerated. - -2007-07-02 William Cohen <wcohen@redhat.com> - - PR 4720 - * staptree.cxx (probe_point::print): Remove stray output. - -2007-06-29 William Cohen <wcohen@redhat.com> - - PR 4529 - * configure.ac: - * Makefile.am: Limit where sqlite3 linked in. - * configure: - * Makefile.in: Regenerate. - -2007-06-29 William Cohen <wcohen@redhat.com> - - PR 4529 - * configure.ac: - * Makefile.am: Limit where sqlite3 linked in. - * configure: - * Makefile.in: Regenerate. - - * coveragedb.cxx (update_coverage_db): Remove unneeded print. - * coveragedb.cxx (increment_element): Correct formatting. - -2007-06-26 William Cohen <wcohen@redhat.com> - - * staptree.cxx (probe_point::print): Remove stray "\n". - -2007-06-26 William Cohen <wcohen@redhat.com> - - PR 4529 - * coveragedb.cxx: New. - * coveragedb.h: New. - * Makefile.am: Add coveragedb.cxx and sqlite3 to build. - * Makefile.in: Regenerated. - * configure.ac: Add test for sqlite3 - * configure: Regenerated. - * systemtap.spec.in: Add dependencies for sqlite3/sqlite3-devel. - * elaborate.h, elaborate.cxx - (derived_probe::collect_derivation_chain): New. - (alias_expansion_builder::build): Correct token location. - (semantic_pass_opt[12): Track used and unused variables/functions. - * session.h (tapset_compile_coverage, unused_globals, - unused_probes, unused_functions): New fields. - * staptree.h (unused_locals, probe_point::str): New member. - * staptree.cxx: Ditto. - * main.cxx: Add "-q" tapset coverage option and SYSTEMTAP_COVERAGE env. - -2007-06-21 David Smith <dsmith@redhat.com> - - * Makefile.in: Regenerated with automake 1.10. - * aclocal.m4: Regenerated with aclocal 1.10. - * configure: Regenerated. - -2007-06-20 Martin Hunt <hunt@redhat.com> - - * Makefile.am (noinst_PROGRAMS): Add stap_merge. - * Makefile.in: Rebuilt: - * config.in: Rebuilt - -2007-06-20 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Added AM_PROG_CC_C_O for compatibility with - automake 1.10. - * configure, aclocal.m4: Regenerated. - -2007-06-20 David Smith <dsmith@redhat.com> - - * buildrun.cxx (compile_pass): Unset environment variables that - could interfere with building the kernel module. Fixes PR 4664. - * main.cxx (main): Unsets a few standard environment variables for - safety. - -2007-06-18 David Smith <dsmith@redhat.com> - - * staprun.8.in: Fixed a couple of typos. - -2007-06-15 Frank Ch. Eigler <fche@elastic.org> - - PR 3331 cont'd. - * loc2c.c (base_encoding): Tolerate absenece of DW_AT_encoding. - (c_translate_pointer): Don't even try to find signedness, assume - unsigned. - -2007-06-14 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_init): Emit translator/elfutils - version numbers together. - * main.cxx (version): Ditto. - (main): Skip printing tapset directories where no sources were found. - -2007-06-14 Frank Ch. Eigler <fche@elastic.org> - - PR 3331 cont'd. - * loc2c.c (emit_base_fetch): Emit size/signedness cast - slightly differently for every low-level fetch. - (translate_base_fetch, c_translate_fetch, c_translate_store, - c_translate_pointer): Fetch & pass the $target signedness. - (base_encoding): Follow typedefs etc. - -2007-06-09 Frank Ch. Eigler <fche@elastic.org> - - PR 4609 - From Eugeniy Meshcheryakov <eugen@debian.org> - * staptree.cxx: Add #include <algorithm> for gcc 4.3. - -2007-06-08 David Smith <dsmith@redhat.com> - - PR 4553. - * configure.ac: For x86 systems with gcc versions less than 4, - automatically default to enabling prologue searching. - * configure: Regenerated. - -2007-06-05 Frank Ch. Eigler <fche@redhat.com> - - PR 3331. - * loc2c.c (emit_base_fetch): Emit size/signedness cast - for every low-level fetch. - (translate_base_fetch, c_translate_fetch, c_translate_store, - c_translate_pointer): Fetch & pass the $target signedness. - -2007-05-31 Frank Ch. Eigler <fche@elastic.org> - - PR 3579 - From Eugeniy Meshcheryakov <eugen@debian.org> - * cache.cxx, parse.cxx: Add #include <cstring> for gcc 4.3. - -2007-05-30 Frank Ch. Eigler <fche@redhat.com> - - PR 4567. - * staptree.cxx (varuse_collecting_visitor): Add side-effect - result query functions. - * elaborate.cxx (dead_stmtexpr_remover::visit_expr_statement): - Switch to it. - (dead_assignment_remover::visit_assignment): Skip elision of - lvalues with side-effects in index exprs. - * staptree.h: Corresponding changes. - -2007-05-25 Frank Ch. Eigler <fche@redhat.com> - - PR 4255 teaser. - * elaborate.cxx (has_null_param): New function. - * elaborate.h: Declare it. - * session.h: Include uprobe_derived_probes group. - * tapsets.cxx (uprobe_*): New classes. - (all_session_groups): List uprobes in list. - (register_standard_tapset): Interpret - process(#).statement(#).absolute and - process(#).statement(#).absolute.return probe points. - -2007-05-25 Martin Hunt <hunt@redhat.com> - - Patch from Quentin Barnes. - * tapsets.cxx (query_module): Add support for arm. - -2007-05-21 David Smith <dsmith@redhat.com> - - PR 4446. - * elaborate.h (derived_probe::initialize_probe_context_vars): New - virtual function that will allow added context vars to be - initialized. - * translate.cxx (c_unparser::emit_common_header): Added - 'mark_va_list'. - (c_unparser::emit_probe): Calls new function - initialize_probe_context_vars. - (translate_pass): Includes linux/marker.h if CONFIG_MARKERS is - defined. - * tapsets.cxx (struct dwarf_query): Split into base_query (which - contains most of the original code) and a much smaller - dwarf_query class. - (struct base_query): New class. - (dwarf_query::handle_query_module): New function. - (query_module): Moved code into dwarf_query::handle_query_module(). - (mark_derived_probe): Adjusted for new kernel markers. - (mark_derived_probe_group): Ditto. - (mark_var_expanding_copy_visitor): Ditto. - (mark_var_expanding_copy_visitor::visit_target_symbol): Generates - code for new kernel markers. - (struct mark_query): New class. - (mark_query::handle_query_module): New function. - (mark_derived_probe::mark_derived_probe): Adjusted for new kernel - markers. - (mark_derived_probe::join_group): Ditto. - (mark_derived_probe::emit_probe_context_vars): Ditto. - (mark_derived_probe::parse_probe_sig): New function. - (mark_derived_probe::initialize_probe_context_vars): New function. - (mark_derived_probe::emit_module_decls): Adjust for new kernel markers. - (mark_derived_probe::emit_module_init): Ditto. - (mark_derived_probe::emit_module_exit): Ditto. - (struct mark_builder): Ditto. - (mark_builder::build): Ditto. - -2007-05-08 Martin Hunt <hunt@redhat.com> - - * buildrun.cxx (run_pass): Send proper verbosity - level to staprun - -2007-05-06 Frank Ch. Eigler <fche@elastic.org> - - PR 1305. - * tapsets.cxx (iterate_over_srcfile_lines): Exclude approximate - file:lineno matches optimistically returned by dwarf_getsrc_file. - (query_srcfile_line): Use Dwarf_Line line number for constructing - derived_probe location string. - -2007-05-02 David Smith <dsmith@redhat.com> - - * translate.cxx (c_tmpcounter::visit_functioncall): Updated - temporary handling. - (c_unparser::visit_functioncall): No longer copies numeric and - string constants to temporary variables. - -2007-05-01 David Smith <dsmith@redhat.com> - - * translate.cxx (c_tmpcounter::visit_binary_expression): Updated - temporary handling. - (c_unparser::visit_binary_expression): Improved handing of numeric - constants when handling '%' and '/' operators. - (c_tmpcounter::visit_print_format): Updated temporary handling. - (c_unparser::visit_print_format): Removed the need for a result - temporary when printing to a stream. - -2007-04-30 David Smith <dsmith@redhat.com> - - PR 2339 - * translate.cxx (c_unparser_assignment::c_assignop): Improved - handling of numeric constants in the rest of the assignment - operators. - (c_tmpcounter_assignment::c_assignop): Updated temporary - handling. - -2007-04-29 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Mention testsuite/configure.ac for version matching. - -2007-04-27 Frank Ch. Eigler <fche@elastic.org> - - PR 4432. - * buildrun.cxx (compile_pass): Tweak autoconf CFLAGS handling to - avoid macro recursion but still get the needed -I directives. - Add the inode-private autoconf test. - -2007-04-26 Frank Ch. Eigler <fche@elastic.org> - - PR 4432. - * buildrun.cxx (compile_pass): Add $(mflags-y) to stap_check_build. - -2007-04-26 Frank Ch. Eigler <fche@elastic.org> - - * buildrun.cxx (compile_pass): Correct placement of commented-out - "set -x" make-macro-debugging snippet. - -2007-04-25 David Smith <dsmith@redhat.com> - - PR 2339 - * translate.cxx: Renamed "qname" to "value" throughout, since - there are times now when qname would refer to a constant value. - (tmpvar::override): Added function to allow for overriding a - temporary variable name with a string. - (tmpvar::value): New function that returns either the overridden - string or the temporary variable name. - (c_unparser::c_expression): New function. - (c_unparser_assignment::c_assignop): Speed up assignment when - numeric or string constants are used. - (c_tmpcounter::visit_block): Avoid empty structs inside the union - of temporary variables. - (c_tmpcounter_assignment::prepare_rvalue): New function. - (c_tmpcounter_assignment::c_assignop): New function. - (c_tmpcounter_assignment::visit_symbol): Update temporary - declarations. - (c_unparser_assignment::prepare_rvalue): Speed up use of rvalues - by using numeric and string constants directly instead of copying - them to temporaries first. - (c_tmpcounter::load_map_indices): New function. - (c_unparser::load_map_indices): Speed up use of numeric and string - constants as map indices. - (c_tmpcounter::visit_arrayindex): Updated temporary declarations. - (c_tmpcounter_assignment::visit_arrayindex): Updated temporary - declarations. - * translate.h (class translator_output): Added tellp() and seekp() - functions. - -2007-04-24 Mike Mason <mmlnx@us.ibm.com> - - * man/stapprobes.socket.5.in: Removed do_write and do_read probes, - added aio_write, aio_read, writev and readv probes. - -2007-04-24 David Smith <dsmith@redhat.com> - - * tapsets.cxx (common_probe_entryfn_epilogue): Increment - error_count when overload processing kicks in. - -2007-04-24 Martin Hunt <hunt@redhat.com> - - * stp_check.in: More tweaking of mount statement. - -2007-04-23 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (die_entrypc): Expand search algorithm to - check for "aranges", as sometimes occurs for inlined functions. - -2007-04-20 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in (elfutils_version): Bump to 0.127. - -2007-04-18 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (install-elfutils): Use $INSTALL_PROGRAM to - copy elfutils shared libraries, as suggested by Perry Cheng - <perryche@us.ibm.com>. - -2007-04-18 Frank Ch. Eigler <fche@elastic.org> - - * parse.cxx (scan_pp): Correct warnings from if/if/else nesting. - -2007-04-10 Martin Hunt <hunt@redhat.com> - - * stp_check.in: Fixes to make sure debugfs or relayfs are mounted - exactly where we expect and other mounts are ignored. - -2007-04-03 Pierre Peiffer <pierre.peiffer@bull.net> - - * parse.cxx, parse.h (lexer::scan): Add $# and @# identifiers. - (eval_pp_conditional, scan_pp): Allow the use of $x and @x identifiers. - Produce more accurate error messages. - * stap.1.in: Document $# and @# identifiers. - -2007-04-04 Frank Ch. Eigler <fche@elastic.org> - - GCC 4.3 compatibility patches from Debian. - * buildrun.cxx, hash.cxx, tapsets.cxx, translate.cxx: #include a few - more C++ headers. - -2007-04-03 Frank Ch. Eigler <fche@elastic.org> - - Improve error messages for underprivileged scripts. - * parse.h (parse_error): Add skip_some member, true default. - * parse.cxx (parse_embedded_code): Send false on missing -g. - * parse.cxx (parser::parse): Respect flag during parse error - recovery. - -2007-04-02 Frank Ch. Eigler <fche@redhat.com> - - PR 3261. - * tapsets.cxx (query_module): Reject elfutils module "kernel" - unless kernel.* probe point used. - -2007-04-02 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_dwarf_func): Skip non-inlined functions - for .function().inline case. - -2007-03-30 Frank Ch. Eigler <fche@redhat.com> - - PR 1570 - * NEWS: Document probe handler language change re. inline functions. - * stapprobes.5.in: Likewise. - * tapsets.cxx: Many changes to simplify caches and implement new - handling of inline functions, removed of stubs for future probes. - * elaborate.cxx (derived_probe printsig_nested): New function. - * elaborate.h: Declare it. - * main.cxx (usage): Clarify "-r" meaning. - (main): Tweak related "-p 4" message. - -2007-03-30 David Smith <dsmith@redhat.com> - - PR 2341 - * translate.cxx (c_unparser::emit_locks): No longer emits a read - lock for global variables that are only written to in begin/end - probes. - (c_unparser::emit_unlocks): Ditto. - (translate_pass): Runs a varuse_collecting_visitor over probes - that need global variable locks for use in - emit_locks()/emit_unlocks(). - - * stap.1.in: Corrected probe overload processing text. - -2007-03-29 David Smith <dsmith@redhat.com> - - PR 3545 - * stap.1.in: Documented probe overload processing. - -2007-03-29 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (dwarf_derived_probe emit_module_init): Correct handling - of kprobe registration errors in the middle of a sequence. - -2007-03-29 David Smith <dsmith@redhat.com> - - PR 4281 - * main.cxx (main): Validates '-m NAME' option. Chops off '.ko' if - present. Makes sure name isn't empty. Makes sure name is only - composed of characters [_a-zA-Z0-9]. - -2007-03-28 David Smith <dsmith@redhat.com> - - PR 2341 (partial fix) - * elaborate.h (struct derived_probe): Added needs_global_locks() - member function. Unless overridden, will return true indicating - that this probe needs locks around global variable references. - * tapsets.cxx (struct be_derived_probe): Added override of default - needs_global_locks() returning false. begin/end probes don't - need locks around global variables, since they aren't run - concurrently with any other probes. - * translate.cxx (c_unparser::emit_common_header): Updated - probe_contents logic to match the logic in emit_probe. - (c_unparser::emit_probe): Added whether the probe needs global - variable locks to the probe string (that helps eliminate duplicate - probes). The generated C changes based on whether or not global - variable locks are needed, but the pass 2 output doesn't differ - between a probe that needs global variable locks and one that - doesn't. If the probe doesn't need global variable locks, doesn't - output them. - -2007-03-26 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Bumped version to 0.5.14. - * configure: Regenerated. - -2007-03-26 David Smith <dsmith@redhat.com> - - * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Improved - error messages for invalid types. - - * elaborate.cxx (typeresolution_info::invalid): Improved the error - message for invalid operators. - -2007-03-22 Frank Ch. Eigler <fche@elastic.org> - - PR 4224. - * staptree.h (probe): Add privileged field. - * elaborate.cxx, parse.cxx: Pass privileged flag to probes. - * tapsets.cxx (dwarf_query): Add has_absolute field. - (dwarf_derived_probe ctor): Tolerate it. - (register_patterns): Expose it. - (dwarf_builder::build): Implement it with no dwfl whatsoever. - * NEWS: Document kernel.statement().absolute. - * stapprobes.5.in: Ditto. - -2007-03-21 Will Cohen <wcohen@redhat.com> - - * Makefile.am: - * Makefile.in: Correct SAMPLE_SRC. - -2007-03-21 David Smith <dsmith@redhat.com> - - PR 4146 - * tapsets.cxx (common_probe_entryfn_prologue): Added - 'interruptible' parameter. If a probe is interruptible, - interrupts are not disabled while the probe executes. Preemption - is disabled however. Interruptible parameter defaults to false. - (common_probe_entryfn_epilogue): Ditto. - (be_derived_probe_group::emit_module_decl): Uses new - 'interruptible' parameter to mark begin/end probes as - interruptible. - (probe_derived_probe_group::emit_module): Initialize - 'actionremaining' with MAXACTION instead of initializing - 'actioncount' with 0. - * translate.cxx (emit_common_header): Renamed 'actioncount' to - 'actionremaining'. Turned logic around to initialize - actionremaining to MAXACTION or MAXACTION_INTERRUPTIBLE then - decrement it as actions occur. - (translate_pass): Added MAXACTION_INTERRUPTIBLE initialization. - * translate.h: Removed outdated comment portion. - * stap.1.in: Documented MAXACTION_INTERRUPTIBLE. - * NEWS: Added note about begin/end probes being run with - interrupts enabled. - -2007-03-20 Frank Ch. Eigler <fche@elastic.org> - - PR 4224. - * tapsets.cxx (add_probe_point): Make kernel implicitly relocated - relative to the _stext symbol. - (dwarf_derived_probe ctor, emit_module_decls): Cooperate. - (lookup_symbol_address): New function. - (dwarf_builder::build): Call it thrice. - (in_kprobes_function): Simplify. - * session.h (systemtap_session): Rename cached symbol addresses. - * translate.cxx, elaborate.cxx: Corresponding tweaks. - -2007-03-19 David Smith <dsmith@redhat.com> - - PR 4146 (partial fix) - * tapsets.cxx (all_session_groups): Added note about stating that - begin probes should be registered (actually run) first and end - probes should be unregistered (run) last. - * translate.cxx (c_unparser::emit_module_exit): Process probe - group vector in reverse order so that probe groups will get - unregistered in the reverse order that they were registered. - -2007-03-19 Frank Ch. Eigler <fche@elastic.org> - - * buildrun.cxx (compile_pass): Emit kbuild-time autoconf widgets - to customize runtime or translator C code to actual kernel rather - than kernel version string. Thanks to FC 2.6."20" for the nudge. - * tapsets.cxx (hrtimer*emit_module): First client: HRTIMER_{MODE_}REL. - -2007-03-17 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Tweak missing elfutils error message. - * configure: Regenerated. - -2007-03-16 David Smith <dsmith@redhat.com> - - PR 3545. - * tapsets.cxx (common_probe_entryfn_prologue): Added - 'overload_processing' parameter, which defaults to true. If - overload_processing is set to false, doesn't output the - STP_OVERLOAD code. - (common_probe_entryfn_epilogue): Ditto. - (be_derived_probe_group::emit_module_decl): Set - overload_processing to false in calls to - common_probe_entryfn_prologue and common_probe_entryfn_epilogue - since begin/end probes shouldn't overload the system. - * translate.cxx (c_unparser::emit_common_header): Emit - STP_OVERLOAD global variables. - (translate_pass): Emit STP_OVERLOAD defines. - -2007-03-14 Martin Hunt <hunt@redhat.com> - * main.cxx (usage): Remove "-M" and edit description - of "-b". - * stap.1.in: Remove "-M" option and edit description of "-b". - Edit description of "-o". - -2007-03-14 Martin Hunt <hunt@redhat.com> - * Makefile.am: Don't install old relayfs sources. - * makefile.in: Rebuilt. - -2007-03-14 Martin Hunt <hunt@redhat.com> - - * Makefile.am (staprun_SOURCES): Sources now live in - runtime/staprun. - * makefile.in: Rebuilt. - - * staprun.8.in: Updated. - - * buildrun.cxx (run_pass): Use "-v" instead of not "-q" to - be compatible with latest staprun. - * translate.cxx (emit_module_exit): Print warning using - _stp_printf so it shows up at the end of all output. - (translate_pass): Replace STP_RELAYFS with STP_BULKMODE. - Eliminate STP_RELAYFS_MERGE. - -2007-03-13 Frank Ch. Eigler <fche@redhat.com> - - PR 4171. - * Makefile.am (check, installcheck): Pass build-tree pointers - in environment variables. - * configure.ac: Run separate configury for testsuite/. - * configure, Makefile.in: Regenerated. - -2007-03-07 Frank Ch. Eigler <fche@elastic.org> - - PR 4166. - * tapsets.cxx (translate_components): Throw an exception rather - then suffer an assertion failure for $ptr[index] expressions. - -2007-03-05 David Smith <dsmith@redhat.com> - - * systemtap.spec.in: Made example perl script non-executable so - that the systemtap rpm won't require perl. - -2007-03-04 Frank Ch. Eigler <fche@redhat.com> - - * stap.1.in, stapex.5.in, staprun.8.in: Tweak text to remove - authors credits, update examples and pointers. - -2007-02-28 David Smith <dsmith@redhat.com> - - * systemtap.spec.in: Fixed %{_libexecdir}/systemtap path in - systemtap-runtime %files section. - -2007-02-27 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in (/var/cache/systemtap): Forget it. - (stp_check): Pack this in with systemtap-runtime. - * stp_check.in: Add LANG=C for speed. - -2007-02-27 David Smith <dsmith@redhat.com> - - * staprun.8.in: Added a basic staprun man page. - * Makefile.am: Added staprun.8. - * Makefile.in: Regenerated. - * configure.ac: Added staprun.8. - * configure: Regenerated. - * systemtap.spec.in: Added staprun.8 and other document files to - staprun RPM. - * .cvsignore: Ignores staprun.8. - -2007-02-27 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (dwflpp setup): Print "missing kernel debuginfo" - message consistently for, er, missing kernel debuginfo. - (dwarf_builder::build): Don't try to help. - (query_kernel_exists): Zapped. - -2007-02-27 David Smith <dsmith@redhat.com> - - * systemtap.spec.in: Fedora Packaging Guidelines updates. Updated - BuildRoot macro value to Fedora Extras standard value. No longer - uses %makeinstall macro. The rpm now owns the - /usr/libexec/systemtap directory. - -2007-02-26 David Smith <dsmith@redhat.com> - - * Makefile.am: Removed 'update-examples' target. Moved - functionality to systemtap.spec.in. - * Makefile.in: Regenerated from Makefile.am. - * systemtap.spec.in: Fixes paths in the example scripts directly. - - * Makefile.am: Added 'update-examples' target that fixes paths in - the example code we ship in the rpm. - * Makefile.in: Regenerated from Makefile.am. - * systemtap.spec.in: Calls "make update-examples" target to fix - the path to systemtap in the example scripts. - -2007-02-25 Frank Ch. Eigler <fche@redhat.com> - - * elaborate.h (match_node, derived_probe_builder): Add - build_no_more member function. - * elaborate.cxx (semantic_pass_symbols): Call it. - * tapsets.cxx (dwarf_builder): Implement it by releasing dwflpp - instance after pass 2, freeing mucho memory. - -2007-02-23 Josh Stone <joshua.i.stone@intel.com> - - PR 4096 - * tapsets.cxx (hrtimer_derived_probe_group::emit_module_decls): - Adapt the function signature for changes in 2.6.21. - (hrtimer_derived_probe_group::emit_module_init): Fix the enum name - for 2.6.21 as well. - -2007-02-19 Frank Ch. Eigler <fche@elastic.org> - - PR 4078 and more, including patch from - Eugeniy Meshcheryakov <eugen@debian.org>: - * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Add -Wextra -Wall -Werror - consistently. - * Makefile.in: Regenerated. - (*): Many minor warning fixes. - -2007-02-17 Frank Ch. Eigler <fche@elastic.org> - - PR 4066. - * translate.cxx (var::init): Check stat scalar initialization, - just like is done for arrays. - (emit_module_exit): Check unlikely but possible null timing stat. - -2007-02-15 David Smith <dsmith@redhat.com> - - PR 3625. - * tapsets.cxx (dwflpp::print_locals): New function to print all - the variables/parameters of a function. - (dwflpp::find_variable_and_frame_base): Calls print_locals() when - target variable can't be found. - (dwflpp::print_members): New function to print all the members of - a union/structure. - (dwflpp::translate_components) Calls print_members() when - union/structure member target variable reference can't be found. - -2007-02-14 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (emit_module_decls): Assert CONFIG_KPROBES, - as suggested by Andreas Kostyrka <andreas@kostyrka.org>. - -2007-02-12 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_statement): Tolerate null file name string. - -2007-02-09 Frank Ch. Eigler <fche@elastic.org> - - PR 3965 - * configure.ac: Add --enable-prologue option. - * configure, config.in: Regenerated. - * session.h (prologue_searching): New field. - * main.cxx (main): Parse new "-P" option. Initialize based on - autoconf flag. - * stap.1.in, NEWS: Document it. - * hash.cxx (find_hash): Include it in computation. - * tapsets.cxx (query_func_info, query_cu): Respect it. - -2007-02-06 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Add docs for kernel_{long,int,short,char} and - some user_string* variants. - -2007-01-31 Martin Hunt <hunt@redhat.com> - - * translate.cxx (translate_pass): Remove old string impedance - mismatch stuff. Modify included files. - -2007-01-29 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, configure: Bumped version to 0.5.13 for development. - -2007-01-29 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_init): Add some more type casts to printk - args. - -2007-01-29 Martin Hunt <hunt@redhat.com> - - * translate.cxx (emit_module_init): BZ3888. Add memory usage for the - runtime to the printk. - -2007-01-29 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): For successful last_pass=4, print compiled module - name. - * cache.cxx (get_from_cache): Ditto. - -2007-01-23 Mike Mason <mmlnx@us.ibm.com> - - * Makefile.am, configure.ac: Add support for - stapprobes.socket man page. - * configure, Makefile.in: Regenerate. - * man/stapprobes.socket.5.in: Socket tapset man page. - * stapprobes.5.in: Add stapprobes.socket(5) to "See Also" section. - * stapfuncs.5.in: Add new string and sockets functions. - -2007-01-23 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (loc2c_error): Correct vasprintf ignored-rc warning. - -2007-01-22 Martin Hunt <hunt@redhat.com> - - * translate.cxx (mapvar::exists): Use new _stp_map_exists function. - Testing for zero is no longer correct after changes from 2007-01-10 - below. - -2007-01-18 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (version): Add (C) 2007. - * translate.cxx (emit_module_init): Add a KERN_DEBUG printk - at module startup time to aid debugging and auditing. - -2007-01-12 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (dwarf_var_expanding_copy_visitor::visit_target_symbol): Since - array behavior has changed (setting to 0 no longer deletes the - array element), we delete the internal counter array element when - providing target variable access in return probes. - -2007-01-11 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in (elfutils_version): Bump to 0.125. - Older libdw's have known bugs, though the ABI has not changed. - -2007-01-10 Martin Hunt <hunt@redhat.com> - - * translate.cxx (mapvar::del): Call the new _stp_map_del - function instead of setting to zero. - -2007-01-01 Frank Ch. Eigler <fche@redhat.com> - - * configure.ac: Bump version to 0.5.12 for release. - * configure: Regenerated. - * NEWS, AUTHORS: Populate & repopulate. - -2006-12-29 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (*group:emit_module_init): flush stdout less for timing - mode. Also, Set probe_point variable ... - * translate.cxx (emit_module_init): ... so on registration failure, a - usable error message can be generated. - -2006-12-29 Frank Ch. Eigler <fche@redhat.com> - - PR 3523. - * tapsets.cxx (common_probe_entryfn_prologue,epilogue): Restore - support for -t (benchmarking) mode. - * translate.cxx (emit_common_header,emit_module_init):Ditto. - (emit_module_exit,emit_probe): Ditto, with most meat here. - -2006-12-22 Josh Stone <joshua.i.stone@intel.com> - - * stap.1.in: Document how to specify the size of global arrays. - -2006-12-21 Josh Stone <joshua.i.stone@intel.com> - - PR 3671 - * parse.cxx (parser::parse_global): Allow a maxsize on global arrays. - * staptree.h (struct vardecl): Add the maxsize field. - * staptree.cxx (vardecl::vardecl): Init. maxsize. - (vardecl::set_arity): Don't allow arity 0 when there's a maxsize. - (vardecl::compatible_arity): Ditto. - (vardecl::print): Include maxsize in output. - (target_symbol::print): Ditto. - * translate.cxx (struct mapvar, mapvar::mapvar): Add maxsize. - (mapvar::init): Init maps with the given maxsize if specified, else - keep using MAXMAPENTRIES. - (mapvar::set): Make the error message give the maxsize. - (mapvar::add): Ditto, and check for overflow on pmap add. - (c_unparser::getmap): Pass the maxsize from the vardecl to mapvar. - -2006-12-21 David Smith <dsmith@redhat.com> - - * hash.cxx (find_hash): Added two more options into the hash that - change the generated C file - '-M' (merge) and '-t' (benchmark - timing). - -2006-12-20 David Smith <dsmith@redhat.com> - - PR 3519. - * Makefile.am: Added 'examples' directory to the 'EXTRA_DIST' - variable so that the examples directory will be added to the - distribution directory. Added variables 'SAMPLE_DEST_DIR' and - 'SAMPLE_SRC' and target 'dist-add-samples' to copy some of the - testsuite sample scripts to the examples directory when creating a - distribution directory. - * Makefile.in: Regenerated. - * systemtap.spec.in: Added 'examples' directory to the %doc list - so that the examples directory will be installed on a user's - system. - -2006-12-19 Frank Ch. Eigler <fche@redhat.com> - - PR 3522. - * tapsets.cxx (dwflpp::emit_address): Call - _stp_module_relocate only once per session. - - Error message cleanup: duplicate elimination etc. - * session.h (saved_errors): Store a set of 'em. - (num_errors): Return set size. Remove old numeric field. - Update all callers. - * elaborate.cxx (systemtap_session::print_errors): - Print each encountered message just once. - * staptree (semantic_error): Make msg2 writeable. - Add a chain field. - * tapsets.cxx (*var_expanding*:visit_target_symbol): Set saved - semantic_error's chain field. - * elaborate.cxx (register_library_aliases, visit_foreach_loop, - visit_functioncall, derive_probes): Plop "while: ..." error - message prefix/suffix right into the semantic_error message string. - * parse.cxx (lexer::scan): Identify erroneous token better - in error message for unresolvable $N/@M command line args. - * util.h (lex_cast_hex): Use std::hex, not std::ios::hex. - -2006-12-18 David Smith <dsmith@redhat.com> - - * Makefile.am (EXTRA_DIST): Added header files - cache.h, hash.h, - mdfour.h, and util.h. - * Makefile.in: Regenerated. - -2006-12-16 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Print version strings if verbose >=2 . - * tapsets.cxx (common_probe_entryfn_prologue): Decorate an - emitted local with __restrict__. - -2006-12-14 David Smith <dsmith@redhat.com> - - * tapsets.cxx (struct dwarf_var_expanding_copy_visitor): Added - 'return_ts_map' member variable. - (dwarf_var_expanding_copy_visitor::visit_target_symbol): - Optimization. If we've already seen this target variable in this - return probe, return the last replacement (instead of creating a - new replacement). - -2006-12-13 David Smith <dsmith@redhat.com> - - * tapsets.cxx (struct dwarf_var_expanding_copy_visitor): Added - 'add_probe' member variable. Initialized it in ctor. - (dwarf_var_expanding_copy_visitor::visit_target_symbol): - Optimization. Instead of generating one entry probe per target - variable accessed in a return probe, now just generates one entry - probe for all target variables accessed in a particular return - probe. It does this by creating a new probe in the new - 'add_probe' member variable. - (dwarf_derived_probe::dwarf_derived_probe): If add_probe isn't - NULL, make sure it gets derived later. - -2006-12-11 Josh Stone <joshua.i.stone@intel.com> - - * parse.cxx (parse::parse_literal): Enforce the lower bound on - negative literals. - -2006-12-11 David Smith <dsmith@redhat.com> - - * hash.cxx (find_hash): Fixed a caching bug. Bulk mode (relayfs) - status should be figured into the hash since it changes the - generated C code. - -2006-12-08 Josh Stone <joshua.i.stone@intel.com> - - PR 3681. - * staptree.h (struct vardecl): Add a literal 'init' member for the - initialization value of globals. - * staptree.cxx (vardecl::vardecl): Initialize 'init' to NULL. - (vardecl::print): Print global init value during pass-1 output. - * main.cxx (printscript): Print global init values during verbose - pass-2 output. - * parse.cxx (parser::parse_global): Set the initialization literal of - global vardecls. - * translate.cxx (var::init): Don't unconditionally override the value - of numeric globals when the module_param isn't used. - (c_unparser::emit_global_param): Write numeric module_params directly - into the global variable, as an int64_t instead of long. - (c_unparser::emit_global): Add initialization to global declarations. - Don't create a temp module_param long for numeric globals anymore. - -2006-12-07 Josh Stone <joshua.i.stone@intel.com> - - PR 3624. - * tapsets.cxx (struct be_derived_probe): Add a new priority parameter - for begin/end probes, and a comparison function for sorting. - (be_builder::build): Parse the priority & pass it to be_derived_probe. - (be_derived_probe_group::emit_module_init, emit_module_exit): Sort the - probe list by priority before emitting any code. - (register_standard_tapsets): Add new begin/end variants. - * parse.cxx (parser::parse_literal): Allow negative numeric literals, - by checking for a '-' unary operator right before a number. - * stapprobes.5.in: Document the new begin/end syntax. - -2006-12-06 Josh Stone <joshua.i.stone@intel.com> - - PR 3623. - * tapsets.cxx (timer_derived_probe_group::emit_module_decls): Restart - the timers if we are in STARTING or RUNNING state. - (hrtimer_derived_probe_group::emit_module_decls): Ditto. - (be_derived_probe_group::emit_module_init): indicate error to the rest - of the initialization if any begin probes fail. - * translate.cxx (c_unparser::emit_module_init): Set the global error - state on an initialization error so timers know to shut down. - -2006-12-05 Frank Ch. Eigler <fche@redhat.com> - - PR 3648. - * main.cxx (main): Tweak error message for tapset script execution. - Also catch those clever rogues who use stdin. - -2006-11-30 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (common_probe_entryfn_prologue): Tweak - insufficient stack detection logic. - -2006-11-30 David Smith <dsmith@redhat.com> - - * main.cxx (printscript): Prints global embedded code. Not - printing the global embedded code was causing bad caching - behavior. - -2006-11-29 David Smith <dsmith@redhat.com> - - * tapsets.cxx (struct dwarf_var_expanding_copy_visitor): Added - 'add_block' member variable. Constructor sets it to NULL. - (dwarf_var_expanding_copy_visitor::visit_target_symbol): Fixes the - problem of accessing a cached target variable in a loop. Cached - target variable is assigned to a temporary variable, which can be - safely access multiple times. In addition, the cached value is - deleted after being read. - (dwarf_derived_probe::dwarf_derived_probe): Adds in the new block - of code created in visit_target_symbol() to the beginning of the - derived probe. - -2006-11-28 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (dwarf_var_expanding_copy_visitor::visit_target_symbol): - Improved handling target variables in return probes by having a - per-thread counter. - -2006-11-26 Frank Ch. Eigler <fche@redhat.com> - - PRs 2685, 3596, toward 2725. - * tapsets.cxx (common_probe_entryfn_prologue): Skip probe on - insufficient stack. - (build_blacklist): Add a slew of lock-related calls. - (query_module): Check for debuginfo architecture match. - * translate.cxx (translate_pass): Add default MINSTACKSPACE. - * configure.ac: Link stap with -lebl too. - * configure: Regenerated. - * stap.1.in: Document MINSTACKSPACE parameter. - -2006-11-21 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_module_init): Adapt to 2.6.19 utsname(). - -2006-11-21 Frank Ch. Eigler <fche@elastic.org> - - PR 3556. - * translate.cxx (emit_module_init): Emit code to check - system_utsname against translate-time version/machine strings. - -2006-11-20 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (dwarf_var_expanding_copy_visitor::visit_target_symbol): BZ - 1382. Target variables can be accessed in return probes. A new - function entry probe is generated that saves the target variables - so that they can be accesssed in the return probe. - -2006-11-19 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Signal parse error if a tapset script - is given as the user script. - -2006-11-15 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (d_v_e_c_v::visit_target_symbol): Restore lost - exception-saving functionality that improves error messages - for incorrect $target expressions. - (translate_components): Systematize error messages somewhat. - * translate.cxx (emit_function, emit_probe): Clarify - "array locals" error message. - -2006-11-10 David Smith <dsmith@redhat.com> - - * tapsets.cxx - (dwarf_var_expanding_copy_visitor::visit_target_symbol): Minor - improvement to error handling by throwing exceptions before - allocations are done. - -2006-11-10 Frank Ch. Eigler <fche@elastic.org> - - * stap.1.in: On urging of Adam Jackson, add blurbs on array syntax - and default limits. - -2006-11-09 Martin Hunt <hunt@redhat.com> - - * Makefile.am (staprun_LDADD): Need PROCFLAGS here too. - -2006-11-09 Martin Hunt <hunt@redhat.com> - - * Makefile.am (staprun_CFLAGS): New. Use PROCFLAGS. - - * configure.ac: Add PROCFLAGS. Processor-dependent - compilation flags. - * configure: Rebuilt. - * Makefile.in: Rebuilt. - -2006-11-09 David Smith <dsmith@redhat.com> - - * tapsets.cxx (dwarf_query::dwarf_query): Looks for "maxactive" - return probe variant. - (dwarf_derived_probe::dwarf_derived_probe): Initializes - has_maxactive and maxactive_val member variables. - (dwarf_derived_probe::register_function_variants): Matches - "maxactive" return probe variant. - (dwarf_derived_probe_group::emit_module_decls): Emits code to use - maxactive data. - (dwarf_derived_probe_group::emit_module_init): Ditto. - -2006-11-08 David Smith <dsmith@redhat.com> - - * cache.cxx (get_from_cache): To preserve semantics with - non-cached use, if the last pass is 3, display the cached C - source. - -2006-11-08 Frank Ch. Eigler <fche@elastic.org> - - * staptree.cxx (print_format::components_to_string): Quote ". - (c_unparser::visit_print_format): Don't use lex_cast_qstring - as it overdoes \ quoting. Resemble ::visit_literal_string - instead. - -2006-11-08 Frank Ch. Eigler <fche@elastic.org> - - * util.h (lex_cast_qstring): Move def'n here. Also quote \. - (stringify, lex_cast, lex_cast_hex): Move defn here. - * buildrun.cxx, elaborate.cxx, main.cxx, staptree.cxx: Adapt. - -2006-11-07 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (profile_derived_probe_group::emit_module_decls): - Pass along incoming pt_regs to context of timer.profile handlers. - -2006-11-06 Martin Hunt <hunt@redhat.com> - - * translate.cxx (var::init): Check for errors when - allocating arrays of stats, as well as other arrays. - -2006-11-06 David Smith <dsmith@redhat.com> - - Added "limit EXP" support to foreach statements. - * translate.cxx (c_tmpcounter::visit_foreach_loop): Handles - "limit" member variable. - (c_unparser::visit_foreach_loop): Ditto. - * staptree.cxx (foreach_loop::print): Prints "limit EXP" - addition. - (traversing_visitor::visit_foreach_loop): Handles "limit" member - variable. - (deep_copy_visitor::visit_foreach_loop): Ditto. - * staptree.h (struct foreach_loop): Added "limit" member - variable. - * stap.1.in: Added documentation for the "limit EXP" addition to - foreach statement. - * parse.cxx (lexer::scan): Added "limit" keyword for foreach - statements. - (parser::parse_foreach_loop): Parses "limit" keyword for foreach - statements. - * elaborate.cxx (symresolution_info::visit_foreach_loop): Handles - "limit" member variable. - (typeresolution_info::visit_foreach_loop): Ditto. - -2006-11-03 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (emit_address): Emit calls to _stp_module_relocate - for $target-variable addresses in relocatable sections. - -2006-11-02 Martin Hunt <hunt@redhat.com> - - * session.h (struct systemtap_session): Add symtab. This controls - if a symbol table is generated and compiled into the module. - - * main.cxx (main): Set session.symtab to false. This could later - enabled by a command-line option if necessary. - - * translate.cxx (emit_symbol_data): Don't write a symbol table if - session.symtab is false. - - * tapsets.cxx (emit_module_decls): Remove stap_module array and - module_relocate. - (emit_module_init): Use "_stp_module_relocate". - - * Makefile.am (staprun_SOURCES): Add symbols.c - * Makefile.in: Rebuilt. - -2006-11-02 David Smith <dsmith@redhat.com> - - * main.cxx (main): Added '-r' check. If the user changes the - kernel release to compile against, make sure pass 5 isn't - performed (since the resulting module won't be installable). - -2006-11-02 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am: Install tapset/README too. - * Makefile.in: Regenerated. - -2006-11-01 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (timer_derived_probe_group::emit_interval): New - - Fixes randomization for jiffies timers in ms mode. - (timer_derived_probe_group::emit_module_decls): Use emit_interval. - (timer_derived_probe_group::emit_module_init): Ditto. - -2006-11-01 David Smith <dsmith@redhat.com> - - * translate.cxx (delete_statement_operand_visitor::visit_symbol): - Added referent assert. - (delete_statement_operand_tmp_visitor::visit_arrayindex): Ditto. - (c_tmpcounter::visit_array_in): Ditto. - (c_unparser::visit_symbol): Ditto. - (c_unparser_assignment::visit_symbol): Ditto. - (c_unparser::load_map_indices): Ditto. - (c_tmpcounter::visit_arrayindex): Ditto. - (c_tmpcounter_assignment::visit_arrayindex): Ditto. - (c_tmpcounter::visit_functioncall): Ditto. - (c_unparser::visit_functioncall): Ditto. - -2006-10-31 Frank Ch. Eigler <fche@redhat.com> - - Probe registration rework. Offline dwarf processing for better - cross-instrumentation. - * elaborate.h (derived_probe): Remove registration-related code - generation API. Add new function sole_location(). - (derived_probe_group): Reworked this and associated classes. - * session.h (systemntap_session): Create individual per-category - derived_probe_groups. - * elaborate.cxx (derived_probe_group): Reworked. - (alias_derived_probe): Switch to new derived_probe API. - (semantic_pass_symbols): Ditto. - * translate.cxx (mapvar init): Check for array initialization error. - (emit_module_init): Handle such failures, at least in theory. - (emit_module_exit): Switch to new derived_probe_group API. Call - cpu_relax() during shutdown busywait. - (emit_common_header): Elide context variables for elided handler fns. - (c_unparser::emit_probe): Implement new, improved duplicate - elimination technique for probe handlers. Leave two older ones - behind as compile options for education. - * tapsets.cxx (*): Reworked all probe registration code, moving - it from derived_probes into derived_probe_groups. Shrunk output - code. Temporarily disabled probe timing and perfmon/mark probes. - (dwflpp): Use offline reporting, so that module matching and - relocation is performed at run time. - (dwarf_query): Remove flavour logic, now supplanted by other - duplicate elimination code. - (dwarf_derived_probe): Reworked construction, centralized - module/section/offset computations. - * tapsets.h (all_session_groups): New little helper. - - * main.cxx (main): For pass-2 message, print number of embeds too. - * systemtap.spec.in: Add a "BuildRequires: dejagnu" for make check. - * configure.ac: Bump version to 0.5.11. - * configure: Regenerated. - -2006-10-23 Li Guanglei <guanglei@cn.ibm.com> - - * lket.5.in: Rearranged the sections, add more details. - -2006-10-30 David Smith <dsmith@redhat.com> - - * stap.1.in: Added notes about new caching feature. - -2006-10-24 David Smith <dsmith@redhat.com> - - * tapsets.cxx (build_blacklist): Added - "atomic_notifier_call_chain" to the blacklist (Bugzilla #3379). - -2006-10-23 David Smith <dsmith@redhat.com> - - * main.cxx (printscript): New function containing code moved from - main(). - (main): Added code to create cache directory, call function to - generate hash, and see if we can use cached source/module. If - pass 4 is actually run to produce a new module, we call - add_to_cache() to cache the result. - * session.h (struct systemtap_session): Added hash/cache session - data. - * cache.cxx: New file handling adding/getting files from the - cache. - * cache.h: New header file for cache.cxx. - * hash.cxx: New file containing C++ wrapper for routines in - mdfour.c and the find_hash function which computes the hash file - name for an input script. - * hash.h: New header file for hash.cxx. - * mdfour.c: New file containing MD4 hash code. - * mdfour.h: New header file for mdfour.c. - * util.cxx: New file containing several utility functions used by - the caching code. - * util.h: New header file for util.cxx. - * Makefile.am: Added new C/C++ files. - * Makefile.in: Regenerated. - -2006-10-23 Li Guanglei <guanglei@cn.ibm.com> - - * configure.ac, Makefile.am: add lket-b2a.1.in - * Makefile.in, configure: regenreated - * ket-b2a.1.in: new man page for lket-b2a - * lket.5.in: document signal trace hooks - -2006-10-18 Roland McGrath <roland@redhat.com> - - PR 2727 - * configure.ac (elfutils build): Pass --prefix and --exec-prefix - options to elfutils configure. - (elfutils_abs_srcdir): New substituted variable. - * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. - * configure, config.in, Makefile.in: Regenerated. - -2006-10-16 Li Guanglei <guanglei@cn.ibm.com> - - * configure.ac: add the checking for mysql_config, - mysqlclient library and header files - * runtime/lket/b2a/Makefile.am: set compile flags - according to the existance of mysql_config - * Makefile.in, configure, testsuite/Makefile.in, - runtime/lket/b2a/Makefile.in: regenerated - -2006-10-12 Martin Hunt <hunt@redhat.com> - - * translate.cxx (emit_common_header): Add a - kretprobe_instance pointer to struct context. - (emit_symbol_data): Include absolute symbols. - - * tapsets.cxx (emit_common_header): Initialize - the kprobe instance pointer to 0; - (emit_probe_entries): Set kretprobe instance - pointer if appropriate. - - -2006-10-11 David Smith <dsmith@redhat.com> - - * tapsets.cxx (in_kprobes_function): New function that looks up - the values of '__kprobes_text_start' and '__kprobes_text_end' in - the kernel to be able to automatically exclude functions marked as - '__kprobes' (BZ# 2639). - (blacklisted_p): Calls in_kprobes_function(). - (query_kernel_module): Utility function that finds the kernel module. - * session.h (struct systemtap_session): Added kprobes_text - variables - kprobes_text_initialized, kprobes_text_start, and - kprobes_text_end. - * elaborate.cxx (systemtap_session::systemtap_session): - kprobes_text variables get initialized. - -2006-10-10 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in (elfutils_version): Require 0.124 now. - -2006-10-10 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Override incomplete mysql checking for now. - * configure: Regenerated. - -2006-10-10 Li Guanglei <guanglei@cn.ibm.com> - - * configure.ac: add the checking of mysql client library - * Makefile.in, configure: regenerated - -2006-09-29 Li Guanglei <guanglei@cn.ibm.com> - - * man: newly created dir for stapprobes - * man/stapprobes.iosched.5, man/stapprobes.netdev.5, man/stapprobes.nfs.5, - man/stapprobes.nfsd.5, man/stapprobes.pagefault.5, man/stapprobes.process.5, - man/stapprobes.rpc.5, man/stapprobes.scsi.5, man/stapprobes.signal.5, - man/stapprobes.tcp.5, man/stapprobes.udp.5: Some of these man pages are from - the old stapprobes.5.in. Some are newly created(rpc, nfs, nfsd) - * man/.cvsignore: ignore the generated man page files - -2006-09-29 Li Guanglei <guanglei@cn.ibm.com> - - PR 3282 - * Makefile.am: add -DPKGLIBDIR='"$(pkglibexecdir)"' to AM_CPPFLAGS - -2006-09-28 Josh Stone <joshua.i.stone@intel.com> - - PR 3278 - * tapsets.cxx (hrtimer_derived_probe::emit_probe_entries): Only - restart timers when the session is still active and we updated the - expire time. - -2006-09-27 Josh Stone <joshua.i.stone@intel.com> - - * session.h (struct systemtap_session): Add kernel_base_release - to store the kernel version without the -NNN suffix. - * main.cxx (main): Generate and use kernel_base_release. - * parse.cxx (eval_pp_conditional): Use kernel_base_release. - * tapsets.cxx (profile_derived_probe::profile_derived_probe): - Use kernel_base_release. - - * tapsets.cxx (timer_builder::build): Support a wide variety of - timer varients -- jiffies, s/sec, ms/msec, us/usec, ns/nsec, and - hz. Use hrtimers automatically on kernels that have it. - (timer_builder::register_patterns): Bind all of the new timer - varients in one easy place. - (register_standard_tapsets): Call timer_builder::register_patterns. - (struct hrtimer_builder): Removed since timer_builder is generic. - * stapprobes.5.in: Document new timer.* functionality. - - * tapsets.cxx (hrtimer_derived_probe_group::emit_probes): Add a - shared global for the actual hrtimer resolution, _stp_hrtimer_res. - (hrtimer_derived_probe_group::emit_module): Init _stp_hrtimer_res. - (hrtimer_derived_probe::emit_interval): Limit intervals at a - minimum to the hrtimer's actual resolution. - (hrtimer_derived_probe::emit_probe_entries): Forward timers - based on previous expiration instead of restarting relative. - -2006-09-26 David Smith <dsmith@redhat.com> - - * .cvsignore: Changed 'stpd' reference to 'staprun'. - * INTERNALS: Ditto. - * buildrun.cxx (run_pass): Ditto. - * lket.5.in: Ditto. - * stap.1.in: Ditto. - * stapruncs.5.in: Ditto. - * examples/small_demos/demo_script.txt: Ditto. - * examples/small_demos/sys.stp: Ditto. - - * systemtap.spec.in: Created a new subpackage, - "systemtap-runtime", that contains staprun. - - * Makefile.am: Renamed 'stpd' to 'staprun' and moved it to - $(bindir). - * Makefile.in: Regenerated from Makefile.am. - - * configure.ac: Incremented version number. - * configure: Regenerated from configure.ac. - -2006-09-22 Tom Zanussi <zanussi@us.ibm.com> - - * stp_check.in: Add debugfs mounting. - -2006-09-22 Li Guanglei <guanglei@cn.ibm.com> - - From Gui Jian <guijian@cn.ibm.com> - * lket.5.in: document RPC trace hooks - -2006-09-20 Josh Stone <joshua.i.stone@intel.com> - - PR 3233 - * stapfuncs.5.in: Document new gettimeofday_ns. - -2006-09-19 Tom Zanussi <zanussi@us.ibm.com> - - * README: Add CONFIG_DEBUG_FS to config options. - -2006-09-18 Josh Stone <joshua.i.stone@intel.com> - - PR 3219 - From Eugeniy Meshcheryakov <eugen@debian.org>: - * stapprobes.5.in: Correct misuse of '-' -> '\-' in manpage - -2006-09-18 Martin Hunt <hunt@redhat.com> - - * buildrun.cxx (run_pass): Remove "-m" option to stpd. - * translate.cxx (translate_pass): #define STP_RELAYFS_MERGE - if appropriate. - -2006-09-13 Martin Hunt <hunt@redhat.com> - - * buildrun.cxx (run_pass): Remove "-r" option to stpd. - -2006-09-13 Will Cohen <wcohen@redhat.com> - - * tapsets.cxx (perfmon_derived_probe_group::emit_module_init): - Do not throw sematic error unless probes actually used. - -2006-09-12 Will Cohen <wcohen@redhat.com> - - PR 909 - * configure.ac: Add perfmon support options. - * configure: Regenerated. - - * stapfuncs.5.in: - * stapprobes.5.in: Document the perfmon support. - - * session.h, main.cxx: Track number of perfmon probes. - * translate.cxx: Gen STP_PERFMON when perfmon probes. - - * elaborate.h: - * elaborate.cxx (derived_probe_group): Add register_probe() for - perfmon probe. - - * tapsets.cxx (derived_probe::emit_common_header): Gen perfmon data. - (perfmon_var_expanding_copy_visitor): New struct. - (struct perfmon_derived_probe): - (struct perfmon_derived_probe_group): - (struct perfmon_builder): New Perfmon probe handling structures. - (register_standard_tapsets): Add perfmon tapset binding. - (derived_probe_group_container): - (~derived_probe_group_container): - (derived_probe_group_container::register_probe): - (derived_probe_group_container::emit_probes): - (derived_probe_group_container::emit_module_init): - (derived_probe_group_container::emit_module_init_call): - (derived_probe_group_container::emit_module_exit): Add perfmon tapset. - - * tapset/perfmon.stp: New. - * runtime/perf.c: New. - * runtime/perf.h: New. - * runtime/runtime.h: Include perf.c. - - * testsuite/buildok/perfmon01.stp: Test to exercise perfmon - probes. - * testsuite/systemtap.pass1-4/buildok.exp: - -2006-09-12 Li Guanglei <guanglei@cn.ibm.com> - - From Li Xuepeng <xuepengl@cn.ibm.com> - * lket.5.in: document nfs trace hooks - -2006-09-08 David Smith <dsmith@redhat.com> - - * elaborate.h (struct derived_probe): Replace emit_registrations() - function with emit_registrations_start() and - emit_registrations_end(). - (struct derived_probe_group): Added emit_module_init(). - (struct derived_probe_group_container): Added emit_module_init(), - emit_module_init_call(), and emit_module_exit(). - * elaborate.cxx (struct alias_derived_probe): Updated - emit_regitrations calls. - * translate.cxx (emit_module_init): Instead of actually emitting - per-probe-point registrations/unregistrations, let the session's - derived_probe_group_container do it. - * tapsets.cxx (emit_probe_timing): New function that handles - probe timing code. - (be_derived_probe::emit_registrations_start): Renamed from - emit_registrations. - (be_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (dwarf_derived_probe::emit_registrations): Removed, but most code - moved to emit_registrations_start(). - (dwarf_derived_probe::emit_registrations_start): Handles details - of multiple dwarf probe registrations. - (dwarf_derived_probe::emit_registrations_end): Handles cleanup - details of multiple dwarf probe registrations. - (dwarf_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (timer_derived_probe::emit_registrations_start): Renamed from - emit_registrations. Added mutiple probe handling. - (timer_derived_probe::emit_registrations_end): Handles cleanup - details of multiple probe registrations. - (timer_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (profile_derived_probe::emit_registrations_start): Renamed from - emit_registrations. Added mutiple probe handling. - (profile_derived_probe::emit_registrations_end): Handles cleanup - details of multiple probe registrations. - (profile_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (mark_derived_probe::emit_registrations_start): Renamed from - emit_registrations. Added mutiple probe handling. - (mark_derived_probe::emit_registrations_end): Handles cleanup - details of multiple probe registrations. - (mark_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (hrtimer_derived_probe::emit_registrations_start): Renamed from - emit_registrations. Added mutiple probe handling. - (hrtimer_derived_probe::emit_registrations_end): Dummy function. - (hrtimer_derived_probe_group::emit_module_init): New function that - outputs probes create and destroy functions. - (derived_probe_group_container::emit_module_init): Added function - to call all probe group's emit_module_int functions. - (derived_probe_group_container::emit_module_init_call): Added - function to handle probe group initialization cleanup. - (derived_probe_group_container::emit_module_exit): Added - function to handle probe group cleanup. - - -2006-09-06 Frank Ch. Eigler <fche@elastic.org> - - Add basic support for initialized globals. - * parse.cxx (parse_global): Parse initialization clause, implement - by rewriting to "probe begin { var = value }". - * parse.h: Corresponding changes. - * stap.1.in: Document optional initialization. - -2006-09-04 Frank Ch. Eigler <fche@elastic.org> - - Improve unresolved target-symbol error messages. - * staptree.h (target_symbol): Add new field saved_conversion_error. - * elaborate.cxx (typeresolution_info::visit_target_symbol): Throw - that if found instead of generic error. - * tapsets.cxx (t_v_f_c_v::visit_target_symbol): Set it. - -2006-08-30 Li Guanglei <guanglei@cn.ibm.com> - - * stapprobes.5.in: document signal.* - -2006-08-28 David Smith <dsmith@redhat.com> - - * translate.cxx: Added inclusion of session.h. - (translate_pass): Instead of asking each probe to emit itself, we - ask the session's probes member variable to emit all the probes. - * tapsets.cxx: Added inclusion of session.h. Added a - register_probe member function to all derived_probe based - classes. Added a derived_probe_group derived class for all probe - types: - (be_derived_probe_group): New class. - (never_derived_probe_group): New class. - (dwarf_derived_probe_group): New class. - (timer_derived_probe_group): New class. - (profile_derived_probe_group): New class. - (mark_derived_probe_group): New class. - (hrtimer_derived_probe_group): New class - (derived_probe_group_container): New class. - * elaborate.h: Removed inclusion of session.h since session.h now - includes elaborate.h. - (derived_probe): Added register_probe member function. - (derived_probe_group): Added class definition. This is the base - class of all of the derived probe groups - dwarf, timer, etc. - (derived_probe_group_container): Added class definition. An - instance of this class will be stored in the session and contain - all the other probe groups. - * elaborate.cxx (derived_probe_group::register_probe): Added - derived_probe_group::register_probe stubs. - (alias_derived_probe::register_probe): Added register_probe member - function. - (semantic_pass_symbols): After deriving a probe, the probes now - register themselves with the session. - * session.h: Includes elaborate.h to get - derived_probe_group_container definition. systemtap_session class - 'probes' member variable switched from a vector of derived probes - to a derived_probe_group_container. - * buildrun.cxx: Added inclusion of session.h since it was removed - from elaborate.h. - * main.cxx: Added inclusion of session.h since it was removed - from elaborate.h. - * parse.h: Added forward struct declarations. - * staptree.h: Removed inclusion of session.h. - -2006-08-23 Josh Stone <joshua.i.stone@intel.com> - - PR 3093 - From Eugeniy Meshcheryakov <eugen@debian.org>: - * main.cxx (main): Use setenv instead of putenv, since gcc 4.2 - doesn't like assigning string constants to char*. Also use - const char* for result from getenv. - * tapsets.cxx (dwflpp::setup): Copy string constant into a - local array, to fix gcc 4.2 warning. - -2006-08-22 Josh Stone <joshua.i.stone@intel.com> - - PR 3094 - From Eugeniy Meshcheryakov <eugen@debian.org>: - * stap.1.in: In groff, '-' produces a Unicode hyphen. Use '\-' - where a plain-old minus sign is desired, e.g., code examples. - * lket.5.in, stapex.5.in, stapfuncs.5.in, stapprobes.5.in: ditto - -2006-08-15 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in (elfutils_version): Require 0.123 now. - -2006-08-14 David Smith <dsmith@redhat.com> - - * elaborate.cxx (semantic_pass): Calls semantic_pass_optimize1() - and semantic_pass_optimize2(). - (visit_functioncall): Removed setting relaxed_p since - semantic_pass_opt5 does it. - (semantic_pass_opt5): Goes ahead and removes duplicate functions - since semantic_pass_opt1() won't be run again. - (semantic_pass_optimize1): Renamed from semantic_pass_optimize(). - Moved semantic_pass_opt5() to semantic_pass_optimize2(). - (semantic_pass_optimize2): New function that contains optimization - passes that need to be done after type inference. - -2006-08-12 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (dist-hook): Make "make dist" dist. - * Makefile.in: Regenerated. - -2006-08-12 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, Makefile.am: Descend into testsuite/ - directory. Remove local test logic. - * configure, Makefile.in: Regenerated. - * runtest.sh: Not yet removed. - * HACKING: Update for new testsuite layout. - -2006-08-10 David Smith <dsmith@redhat.com> - - * elaborate.cxx (duplicate_function_remover): Added class. - (get_functionsig): Added function. - (semantic_pass_opt5): New function merges duplicate identical - functions into one function. - (semantic_pass_optimize): Calls semantic_pass_opt5. - - * translate.cxx (c_unparser::emit_probe): Changed to merge - duplicate probes bodies by making the duplicate probe just call - the original probe (BZ# 2421). - -2006-08-08 Li Guanglei <guanglei@cn.ibm.com> - - * stapprobes.5.in: document process.*, tcp.*, udp.* - -2006-08-09 Thang Nguyen <thang.p.nguyen@intel.com> - - * testsuite/buildok/iolock_test.stp: Updated for new ioblock.stp - -2006-08-09 Josh Stone <joshua.i.stone@intel.com> - - * examples/small_demos/proc_snoop.stp, - testsuite/buildok/process_test.stp: Rename process.signal_* to - new signal.* tapset. - * stapprobes.5.in, testsuite/buildok/memory.stp: move pagefault - to vm.* namespace - -2006-08-08 Eugene Teo <eteo@redhat.com> - - * tapset/context.stp (probemod): New function. - * stapfuncs.5.in: Document it. - * testsuite/buildok/probemod.stp: Test it. - -2006-08-08 Li Guanglei <guanglei@cn.ibm.com> - - * stapprobes.5.in: document scsi.*, ioscheduler.*, netdev.* and - pagefault. - -2006-08-01 Li Guanglei <guanglei@cn.ibm.com> - - PR 2422 - * tapsets.cxx: calling get_module_dwarf(false) to give a - warning to those modules without debuginfo and skip them - -2006-07-19 Roland McGrath <roland@redhat.com> - - * configure.ac, systemtap.spec.in: Bump version to 0.5.9. - * configure: Regenerated. - - * systemtap.spec.in: Fix syntax in last change. - -2006-07-19 David Smith <dsmith@redhat.com> - - * testsuite/buildok/scsi.stp: Only run the scsi test if the scsi - kernel subsystem is running. - -2006-07-17 David Smith <dsmith@redhat.com> - - * stapfuncs.5.in: Removed retval function description, since it - has been removed. - -2006-07-17 Roland McGrath <roland@redhat.com> - - * configure.ac, systemtap.spec.in: Require elfutils-0.122. - * configure: Regenerated. - - * systemtap.spec.in (Release): Use %{?dist}. - -2006-07-17 Li Guanglei <guanglei@cn.ibm.com> - - * main.cxx: add LKET's tapsets into stap's default tapsets - search path - -2006-07-13 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Add formerly missing admonitional verb. - -2006-07-13 David Smith <dsmith@redhat.com> - - * parse.cxx (parser::expect_unknown2): New function that looks for - 2 possible token types. - * parse.cxx (parser::expect_ident_or_keyword): New function that - calls parser::expect_unknown2. - * parse.cxx (parser::parse_symbol): Calls - parser::expect_ident_or_keyword to allow keywords to appear when - expanding target symbols (Bugzilla #2913). - * parse.h: Added prototypes for parser::expect_unknown2 and - parser::expect_ident_or_keyword. - * testsuite/parseok/seventeen.stp: New test to check for allowing - keywords when expanding target symbols. - -2006-06-30 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (hrtimer_builder::build): Enable hrtimers on >=2.6.17. - * tapsets.cxx (hrtimer_derived_probe::emit_probe_entries): Correct - compilation errors, fix return value. - -2006-06-30 David Smith <dsmith@redhat.com> - - * tapsets.cxx (dwflpp::dwfl_assert): Added optional extra_msg - parameter to be able to print out extra error message. - (dwflpp::setup): Uses new 'extra_msg' parameter to dwfl_assert() - to ask user to install kernel-debuginfo when - dwfl_linux_kernel_report_kernel() or - dwfl_linux_kernel_report_modules() fails (Bugzilla #2669). - - * buildrun.cxx (compile_pass): Checks to make sure module build - directory exists before trying to run make there (Bugzilla #2669). - -2006-06-27 Roland McGrath <roland@redhat.com> - - * runtest.sh: Don't use eval, use proper quoting. - - * tapsets.cxx (dwflpp::emit_address): New instance method. Get - relocation details from Dwfl to emit in comment after address constant. - (dwflpp::loc2c_emit_address): Just call that. - -2006-06-26 Li Guanglei <guanglei@cn.ibm.com> - - * lket.in.5: update to AIO event hooks - -2006-06-23 Thang P Nguyen <thang.p.nguyen@intel.com> - - * testsuite/buildok/tcp_test.stp: updated inet calls - * testsuite/buildok/udp_test.stp: test udp tapset - -2006-06-22 Thang P Nguyen <thang.p.nguyen@intel.com> - - * testsuite/buildok/tcp_test.stp: test tcp tapset - -2006-06-16 Roland McGrath <roland@redhat.com> - - * configure.ac, systemtap.spec.in: Bump version to 0.5.8. - * configure: Regenerated. - - * systemtap.spec.in: Fix bundled_elfutils setting so builds can - possibly work. Add comment admonishing losers not to touch it. - - * aclocal.m4, Makefile.in: Regenerated with automake-1.9.6-2. - -2006-06-16 Li Guanglei <guanglei@cn.ibm.com> - - * lket.in.5: update to reflect the latest changes - to LKET - -2006-06-15 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in: Require elfutils-0.121. - -2006-06-14 Frank Ch. Eigler <fche@elastic.org> - - * README: Add kernel.org blurb based on text from - Chuck Ebbert <76306.1226@compuserve.com>. - -2006-06-09 Li Guanglei <guanglei@cn.ibm.com> - - * parse.cxx, staptree.cxx, staptree.h, translate.cxx: - delete lket_trace_extra - * lket.5.in: delete the description of backtrace in - LKET - -2006-06-08 Thang P Nguyen <thang.p.nguyen@intel.com> - - * testsuite/buildok/ioblock_test.stp: test ioblock - -2006-06-05 David Smith <dsmith@redhat.com> - - * tapsets.cxx (dwflpp::express_as_string): New function. - Extracted from dwflpp::literal_stmt_for_local() so that - dwflpp::literal_stmt_for_return() could also call it. - (dwflpp::literal_stmt_for_local): Portion extracted to create - dwflpp::express_as_string(). - (dwflpp::literal_stmt_for_return): New function. Adds support for - new symbolic access ("$return") to return value in .return - probes. Fixes PR 1132. - (target_variable_flavour_calculating_visitor::visit_target_symbol): - Calls dwflpp::literal_stmt_for_return() when in a return probe and - the variable name is "$return". - (dwarf_var_expanding_copy_visitor::visit_target_symbol): Ditto. - * stapfuncs.5.in: Noted that the retval() function is deprecated. - * stapprobes.5.in: Corrected the name of the return value - variable. - * tapset/return.stp: Marked the retval() function as deprecated. - * testsuite/semko/return01.stp: Added new test. - * testsuite/semko/return02.stp: Ditto. - -2006-06-05 Frank Ch. Eigler <fche@elastic.org> - - PR 2645 cont'd. - * elaborate.cxx (derive_probes): Pass down optional flag - from alias reference to expansion. - * testsuite/semok/twentytwo.stp: Test passing-down. - * stapprobes.5.in: Specify passing-down property of optional flag. - -2006-06-02 Frank Ch. Eigler <fche@elastic.org> - - PR 2645 cont'd. - * elaborate.cxx (find_and_build): Support optional wildcards too. - (derive_probes): Change last argument to indicate optionalness of - parent probe point (alias reference). - (alias_expansion_builder): Shrink epilogue-mode alias body copying. - Pass along alias reference optionality. - * elaborate.h: Corresponding changes. - * testsuite/semko/thirtyfive.stp, semok/twentytwo.stp: New tests. - -2006-06-02 Josh Stone <joshua.i.stone@intel.com> - - * testsuite/buildok/process_test.stp: add signal_handle test - * examples/small_demos/proc_snoop.stp: log signal_handle - -2006-06-02 Frank Ch. Eigler <fche@elastic.org> - - PR 2645. - * stapprobes.5.in: Document "?" probe point suffix. - * parse.cxx (parse_probe_point): Recognize "?" optional suffix. - * elaborate.cxx (derive_probes): Observe probe_point->optional. - * staptree.h, staptree.cxx: Corresponding changes. - * tapsets.cxx (never_derived_probe, never_builder): New classes. - (register_standard_tapsets): Support "never" probe point. - * testsuite/buildok/six.stp, parseok/five.stp: Modifed tests. - - * translate.cxx (emit_module_init): Format "-t" (benchmarking) - cycle-time reports similarly to "-v" (verbose) times. - -2006-06-02 David Smith <dsmith@redhat.com> - - * .cvsignore: Added more files to ignore. - - * main.cxx (usage): Added exitcode parameter. - (main): Improved a few error messages. Also, when an error is - given, stap now always exits with a status of 1. - - * testsuite/buildok/cmdline01.stp: New test. - * testsuite/parseko/cmdline01.stp: Ditto. - * testsuite/parseko/cmdline02.stp: Ditto. - * testsuite/parseko/cmdline03.stp: Ditto. - * testsuite/parseko/cmdline04.stp: Ditto. - * testsuite/parseko/cmdline05.stp: Ditto. - * testsuite/parseko/cmdline06.stp: Ditto. - * testsuite/parseok/cmdline01.stp: Ditto. - * testsuite/parseok/cmdline02.stp: Ditto. - -2006-06-01 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (hrtimer_derived_probe::emit_interval): update - API usage of hrtimers in preparation of getting exports from - the kernel. - (hrtimer_derived_probe::emit_probe_entries): ditto - -2006-06-01 Li Guanglei <guanglei@cn.ibm.com> - - * parse.cxx, staptree.cxx, staptree.h, translate.cxx: - add new function lket_trace_extra at script level - * lket.5.in: Modified the description of backtrace in - LKET - -2006-05-29 Li Guanglei <guanglei@cn.ibm.com> - - * systemtap.spec.in: include lket-b2a in the rpm package - -2006-05-27 Li Guanglei <guanglei@cn.ibm.com> - - * configure.ac: add conditional build of lket-b2a - if glib2-devel is not found, just skips and gives - a warning - * Makefile.am: add conditional build of lket-b2a - * Makefile.in, configure: regenerated - * runtime/lket/b2a/Makefile: deleted. Should be - generated by configure - -2006-05-26 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (build_blacklist): build the sets of blacklisted - functions and function returns. Manually added many __kprobes - functions that should not be probed. - (dwarf_query::dwarf_query): Call build_blacklist. - (dwarf_query::blacklisted_p): Use blacklist sets. - -2006-05-25 Josh Stone <joshua.i.stone@intel.com> - - * parse.cxx (parser::scan_pp): Free memory for tokens that are - thrown away in the preprocessing stage. - * tapsets.cxx - (dwarf_var_expanding_copy_visitor::visit_target_symbol): - Free allocated memory when supressing target-variable errors - -2006-05-25 David Smith <dsmith@redhat.com> - - * testsuite/semok/twentyone.stp: New file. - -2006-05-24 Frank Ch. Eigler <fche@elastic.org> - - Pass 4 speedup. - * tapsets.cxx (derived_probe::emit_common_header): New - function, to emit code formerly inlined by - emit_probe_prologue/epilogue. - * translate.cxx (emit_common_header): Call it. - * elaborate.h: Corresponding changes. - -2006-05-24 David Smith <dsmith@redhat.com> - - * elaborate.cxx (isglob): New function. - (match_key::globmatch): New function. - (match_node::find_and_build): Uses isglob() and - match_key::globmatch() to provide support for wildcards such as - "kernel.syscall.*read*" (Bugzilla #1928). - * elaborate.h (match_key::globmatch): Added function declaration. - * parse.cxx (parser::parse_probe_point): Collects one or more - tokens into a single probe-point functor string. - - * testsuite/parseko/twentytwo.stp: New file. - * testsuite/parseok/sixteen.stp: New file. - -2006-05-24 David Smith <dsmith@redhat.com> - - * testsuite/parseko/cmdlinearg01.stp: New file. - * testsuite/parseko/cmdlinearg02.stp: New file. - * testsuite/parseko/eighteen.stp: New file. - * testsuite/parseko/foreachstmt01.stp: New file. - * testsuite/parseko/foreachstmt02.stp: New file. - * testsuite/parseko/foreachstmt03.stp: New file. - * testsuite/parseko/foreachstmt04.stp: New file. - * testsuite/parseko/foreachstmt05.stp: New file. - * testsuite/parseko/forstmt01.stp: New file. - * testsuite/parseko/forstmt02.stp: New file. - * testsuite/parseko/forstmt03.stp: New file. - * testsuite/parseko/forstmt04.stp: New file. - * testsuite/parseko/functiondecl01.stp: New file. - * testsuite/parseko/functiondecl02.stp: New file. - * testsuite/parseko/functiondecl03.stp: New file. - * testsuite/parseko/functiondecl04.stp: New file. - * testsuite/parseko/functiondecl05.stp: New file. - * testsuite/parseko/functiondecl06.stp: New file. - * testsuite/parseko/functiondecl07.stp: New file. - * testsuite/parseko/ifstmt01.stp: New file. - * testsuite/parseko/ifstmt02.stp: New file. - * testsuite/parseko/nineteen.stp: New file. - * testsuite/parseko/preprocess01.stp: New file. - * testsuite/parseko/preprocess02.stp: New file. - * testsuite/parseko/preprocess03.stp: New file. - * testsuite/parseko/preprocess04.stp: New file. - * testsuite/parseko/preprocess05.stp: New file. - * testsuite/parseko/preprocess06.stp: New file. - * testsuite/parseko/preprocess07.stp: New file. - * testsuite/parseko/preprocess08.stp: New file. - * testsuite/parseko/preprocess09.stp: New file. - * testsuite/parseko/probepoint01.stp: New file. - * testsuite/parseko/probepoint02.stp: New file. - * testsuite/parseko/probepoint03.stp: New file. - * testsuite/parseko/seventeen.stp: New file. - * testsuite/parseko/ternarystmt01.stp: New file. - * testsuite/parseko/twenty.stp: New file. - * testsuite/parseko/twentyone.stp: New file. - * testsuite/parseko/whilestmt01.stp: New file. - * testsuite/parseko/whilestmt02.stp: New file. - -2006-05-24 Li Guanglei <guanglei@cn.ibm.com> - - * configure.ac: add lket.5 & runtime/lket/b2a - * Makefile.am: add lket & runtime/lket/b2a - * aclocal.m4, Makefile.in, configure: regenerated - * runtime/lket/b2a/*: a binary to ascii converter used - to convert LKET's default binary trace data. - * lket.5.in: add intro of lket-b2a converter. - -2006-05-23 David Smith <dsmith@redhat.com> - - * parse.cxx (parse_for_loop): Corrected error message. - -2006-05-22 David Smith <dsmith@redhat.com> - - * elaborate.cxx (find_and_build): Fixed issue #2643. Wildcard - code was being too optimistic. - -2006-05-22 Li Guanglei <guanglei@cn.ibm.com> - - * lket.in.5: draft version of manpage for LKET - * Makefile.in, configure, stap.1.in: add lket.in.5 - -2006-05-18 Frank Ch. Eigler <fche@elastic.org> - - Organize "-t" output by script/parse level probes rather than - derived-probes. - * elaborate.cxx (derived_probe ctor): Remove name field setting. - (alias_derived_probe): New class. - (alias_expandion_builder::build): Create an instance of the above - instead of parse-tree-level plain probe. - * elaborate.h: Corresponding changes. - (derived_probe::basest): Define. - * staptree.cxx (probe ctor): Set new name field. - * staptree.h (probe): Corresponding changes. - (probe::basest): New field. - * tapsets.cxx (emit_probe_prologue, emit_probe_entries): - Switch to basest() probe name for Stat instance. - (dwarf_derived_probe ctor): Stash away base probe. - * translate.cxx (unparser::emit_probe): Remove index - operand, just use probe name to generate symbols. - (emit_module_init): Reorganize -t output in unregister functions. - (translate_pass): Remove unparser::current_probenum field and all - uses. - * translate.h: Corresponding changes. - -2006-05-18 Li Guanglei <guanglei@cn.ibm.com> - - * tapset/LKET/*: tracing tapsets of LKET - * tapset/context.stp: add stp_pid() func - * tapset/ppc64/syscalls.stp: add conditional preprocessing - since sys64_time is removed from kernel >= 2.6.16 - -2006-05-18 Li Guanglei <guanglei@cn.ibm.com> - - * tapset/tskschedule.stp: deleted, merge into scheduler.stp - * tapset/scheduler.stp: incorporate tskschedule.stp - * testsuite/buildok/tskschedule.stp: deleted, merge into - sched_test.stp - * testsuite/buildok/sched_test.stp: incorporate tskschedule.stp - -2006-05-17 Josh Stone <joshua.i.stone@intel.com> - - * testsuite/buildok/sched_test.stp: test scheduler tapset - * examples/small_demos/sched_snoop.stp: demo scheduler tapset - -2006-05-18 Li Guanglei <guanglei@cn.ibm.com> - - * testsuite/buildok/ioscheduler.stp: testcase for ioscheduler.stp - * testsuite/buildok/memory.stp: testcase for memory.stp - * testsuite/buildok/networking.stp: testcase for networking.stp - * testsuite/buildok/scsi.stp: testcase for scsi.stp - * testsuite/buildok/tskschedule.stp: testcase for tskschedule.stp - -2006-05-18 Li Guanglei <guanglei@cn.ibm.com> - - * tapset/ioscheduler.stp: generic IO scheduler tapsets from LKET - * tapset/memory.stp: generic pagefault tapsets from LKET - * tapset/networking.stp: generic networking tapsets from LKET - * tapset/scsi.stp: generic scsi tapsets from LKET - * tapset/tskschedule.stp: generic task scheduler tapsets from LKET - * tapset/process.stp: changes to process.exec alias - -2006-05-16 David Smith <dsmith@redhat.com> - - * parse.cxx (parser::parser): Added initializer for 'context' - member variable. - (tt2str): Added support for new tok_keyword type. - (operator <<): Ignores keyword content when outputting error - message. - (lexer::scan): Recognizes keywords, such as 'probe', 'global', - 'function', etc. and classifies them as type 'tok_keyword'. This - causes keywords to become reserved so they cannot be used for - function names, variable names, etc. - (parser::parse): Changed tok_identifier to tok_keyword when looking - for "probe", "global", or "function". Also sets context member - variable which remembers if we're in probe, global, function, or - embedded context. - (parser::parse_probe, parser::parse_statement) - (parser::parse_global, parser::parse_functiondecl) - (parser::parse_if_statement, parser::parse_delete_statement) - (parser::parse_break_statement, parser::parse_continue_statement) - (parser::parse_for_loop, parser::parse_while_loop) - (parser::parse_foreach_loop, parser::parse_array_in): Looks for - tok_keyword instead of tok_identifier. - (parser::parse_probe_point): Allows keywords as part of a probe - name, since "return" and "function" are keywords. - (parser::parse_return_statement): Looks for tok_keyword instead of - tok_identifier. Make sure we're in function context. - (parser::parse_next_statement): Looks for tok_keyword instead of - tok_identifier. Make sure we're in probe context. - * parse.h: Added parse_context enum. Added 'tok_keyword' to - token_type enum. Added parse_context 'context' member variable to - parser class. - * stap.1.in: Because the string() function has been removed, - the 'string()' function reference has been changed to a 'sprint()' - function reference. - * stapex.5.in: Ditto. - * stapfuncs.5.in: The description of the string() and hexstring() - functions has been removed. - * testsuite/buildok/context_test.stp: Calls to the string() - function were converted to sprint() function calls. - * testsuite/buildok/fifteen.stp: Ditto. - * testsuite/buildok/nineteen.stp: Ditto. - * testsuite/buildok/process_test.stp: Ditto. - * testsuite/buildok/task_test.stp: Ditto. - * testsuite/buildok/timestamp.stp: Ditto. - * testsuite/buildok/twentyone.stp: Ditto. - * testsuite/semok/args.stp: Ditto. - * testsuite/semok/seven.stp: Ditto. - * testsuite/buildok/fourteen.stp: Calls to log()/string() were - converted to a call to printf(). - * testsuite/buildok/sixteen.stp: Ditto. - * testsuite/buildok/thirteen.stp: Ditto. - * testsuite/buildok/twentythree.stp: Ditto. - * testsuite/buildok/twentytwo.stp: Ditto. - * testsuite/buildok/seven.stp: Calls to the string() - function were converted to sprint() calls. Calls to the - hexstring() function were converted to sprintf() calls. - * testsuite/semok/eleven.stp: Ditto. - * testsuite/buildok/seventeen.stp: Calls to log()/hexstring() were - converted to a call to printf(). - * testsuite/semko/nineteen.stp: Ditto. - * testsuite/parseok/three.stp: Because keywords are reserved, a - variable named 'string' was renamed to 'str'. - * testsuite/parseok/two.stp: Because keywords are reserved, a - variable named 'global' was renamed to 'gbl'. - * testsuite/transko/two.stp: Because the parser now checks for - 'next' and 'return' statement context, a 'next' statement was - removed from a function and a 'return' statement was removed from - a probe. - -2006-05-15 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx, translator.cxx (*): Designate more emitted - functions as static. - * translator.cxx (visit_print_format): Correct regression - regression from two weeks ago. - * stapfuncs.5.in: Tweak wording. Deprecate returnval() in favour - of retval(). - -2006-05-12 Thang P Nguyen <thang.p.nguyen@intel.com> - - * testsuite/buildok/probefunc.stp: test probefunc() - -2006-05-12 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Clarify backtrace-related functions. - -2006-05-11 David Smith <dsmith@redhat.com> - - * tapset/ctime.stp: New file. - -2006-05-09 Josh Stone <joshua.i.stone@intel.com> - - * examples/small_demos/proc_snoop.stp: monitor all process events. - * testsuite/buildok/task_test.stp: test compilation of all task - functions. - * testsuite/buildok/process_test.stp: test all process events and - associated variables. - -2006-05-09 Will Cohen <wcohen@redhat.com> - - PR 2228 - * parse.h: - * parse.cxx: Add << operator for struct source_loc. - * translate.cxx (emit_module_init): Print location of probe in script. - -2006-05-09 Li Guanglei <guanglei@cn.ibm.com> - - PR 2520 - * main.cxx: add -M option to stop merge per-cpu files in bulk mode - * session.h: add merge member into systemtap_session - * buildrun.cxx: generate stpd_cmd to stop merge per-cpu files if -M - option is turned on by stap. - -2006-05-08 Li Guanglei <guanglei@cn.ibm.com> - - PR 2627 - * elaborate.cxx: epilogue style alias expansion - * parse.cxx: parse += alias definition - * staptree.h: add epilogue_style member to probe_alias - * stap.1.in: add the description of epilogue style alias - * testsuite/parseok/fifteen.stp: testcase for epilogue style alias - -2006-05-05 Roland McGrath <roland@redhat.com> - - * configure.ac (build_elfutils): Pass CFLAGS to elfutils configure, - editting out -Wall. - * configure: Regenerated. - -2006-05-05 Frank Ch. Eigler <fche@elastic.org> - - PR 2643 - * testsuite/buildok/syscalls.stp: Take "-u" away again. - * configure.ac, systemtap.spec.in: Bump version to 0.5.7. - * configure: Regenerated. - -2006-05-05 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, systemtap.spec.in: Bump version to 0.5.6. - * configure: Regenerated. - -2006-05-05 Will Cohen <wcohen@redhat.com> - - * small_demos/fileopen.stp: Shows use of target() to look at pid. - * small_demos/rwtiming.stp: Shows per executable histograms of time - spent in read and write system calls. - -2006-05-05 Eugene Teo <eteo@redhat.com> - - PR 2433 - * tapsets.cxx (dwarf_query::blacklisted_p): Extend the list of - blacklisted .return probes to include "do_exit". Correct funcname - typo for "sys_groupexit". - * tapset/syscalls.stp: Remove .return probe aliases of never- - returning syscall.exit and syscall.exit_group calls. - -2006-05-05 David Smith <dsmith@redhat.com> - - * translate.cxx (mapvar::exists): Added code for string array - handling. Otherwise, string array elements always exist. - -2006-05-03 Josh Stone <joshua.i.stone@intel.com> - - PR 2506 - * tapsets.cxx (dwarf_query::blacklisted_p): skip probes in .exit.* - -2006-05-02 Will Cohen <wcohen@redhat.com> - - * translate.cxx (emit_module_init): Move closing '}' inside #ifdef. - -2006-05-02 Will Cohen <wcohen@redhat.com> - - PR 2228 - * stap.1.in: Document "-t" option. - * main.cxx (main): Add "-t" option for collecting timing information. - * session.h (systemtap_session): Corresponding changes. - * tapsets.cxx (emit_probe_prologue, emit_probe_epilogue, - emit_probe_entries): - * translate.cxx: (emit_common_header, emit_module_init, - translate_pass): Add time collection of timing information. - - -2006-05-01 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (visit_print_format): Fix regression in - "printf" pseudo-result initialization. - -2006-04-30 Frank Ch. Eigler <fche@elastic.org> - - PR 2610. - * translate.cxx (c_unparser::visit_arrayindex, visit_stat_op): - Detect empty aggregates consistently. - (visit_print_format): Ditto. Also detect errors due to - argument evaluation. - (translator_output::*): Add a flush before a failing assert, - to produce more context when debugging. - -2006-04-25 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am: Removed "rpm" target. - * Makefile.in, aclocal.m4: Regenerated. - -2006-04-25 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (typeresolution_info::unresolved,invalid, - mismatch): Print current function/probe name in error message. - (semantic_pass_types): Pass sufficient information. - * elaborate.h: Corresponding changes. - -2006-04-25 Frank Ch. Eigler <fche@elastic.org> - - PR 2427. - * staptree.cxx (varuse_collecting_visitor::visit_embeddedcode): - Support /* pure */ declaration. Stop using __tvar_ naming hack. - (v_c_u::visit_print_format): Mark sprint and sprintf as - side-effect-free. - (deep_copy_visitor::visit_print_format): Propagate raw_components. - * stap.1.in: Document declaration. - * elaborate.cxx (semantic_pass_opt2): Verbose message tweak. - (dead_stmtexpr_remover): Extend for more aggressive optimization. - * tapsets.cxx (dwarf,mark_var_expanding_copy_visotor): Add - /* pure */ declaration to rvalue expansions. - * tapset/*.stp: Added /* pure */ declarations to many functions. - * testsuite/parseok/unparsers.stp: Propagate guru mode flag. - * testsuite/buildok/twentyfour.stp: New test. - -2006-04-24 Frank Ch. Eigler <fche@elastic.org> - - PR 2599. - * elaborate.cxx (visit_assignment): Tolerate null current_expr. - * testsuite/semok/optimize.stp: Add relevant tests. - -2006-04-23 Eugene Teo <eteo@redhat.com> - - PR 2149 - * translate.cxx (mapvar::set): Test _stp_map_set_xx() for - array overflows. - -2006-04-23 Eugene Teo <eteo@redhat.com> - - * small_demos/ansi_colors.stp: Add an example of using octal - escape sequences to display all possible ansi colors. - -2006-04-21 Eugene Teo <eteo@redhat.com> - - PR 1326 - * translate.cxx (c_unparser::visit_binary_expression): Handle - negative left and right shift count. - -2006-04-21 Frank Ch. Eigler <fche@elastic.org> - - PR 953 - * elaborate.h (derived_probe): Add field "name". Stop passing - "probe index" to other emit_* calls. - (emit_probe_context_vars): New member function. - * elaborate.cxx (derived_probe ctor): Generate unique name. - * translate.cxx (*): Adapt to index->name. - (emit_probe): Realize that probe locals only occur at nesting=0. - * tapsets.cxx (*derived_probe::emit_*): Adapt to index->name. - (mark_var_expanding_copy_visitor): New class to process $argN. - (mark_derived_probe ctor): Call it. - (mark_derived_probe::emit_probe_context_vars): Do it. - * buildrun.cxx (compile_pass): Add more optional gcc verbosity. - Add CFLAGS += -freorder-blocks. - * testsuite/buildok/marker.stp: New test. - -2006-04-19 Eugene Teo <eteo@redhat.com> - - PR 2014 - * parse.cxx (lexer::scan): Added \[0-7]* case to preserve - octal escape sequences. - -2006-04-18 Martin Hunt <hunt@redhat.com> - - * Makefile.am (install-data-local): Another try. - -2006-04-18 Frank Ch. Eigler <fche@elastic.org> - - PR 2220 - * translate.cxx (visit_statement): Tolerate 0 first argument. - (visit_for_loop, visit_foreach_loop): Call it thusly for condition - expression. - (visit_embededcode, visit_block, visit_null_statement): Don't - call visit_statement() at all. - -2006-04-18 Martin Hunt <hunt@redhat.com> - - * Makefile.am (install-data-local): Tweak previous fix. - (install-data-local): - -2006-04-18 Martin Hunt <hunt@redhat.com> - - * Makefile.am (install-data-local): Rewrite. Set - ownership and permissions for all files and directories - under runtime and tapset. Restrict files to source code. - - * Makefile.in: Rebuilt. - -2006-04-18 Eugene Teo <eteo@redhat.com> - - PR 1341 - * main.cxx (main): Use TMPDIR instead of hard-coded /tmp. - -2006-04-17 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (mark_derived_probe::emit_{de}registrations): - Use cmpxchg to synchronize. - -2006-04-12 Tom Zanussi <zanussi@us.ibm.com> - - PR 2538 - * buildrun.cxx (compile_pass): Remove space - between -I and runtime path. - -2006-04-12 Martin Hunt <hunt@redhat.com> - - PR 2497 - * translate.cxx (translate_pass): Don't - reset STP_STRING_SIZE if it was already defined. - Set it to 1024 by default. - -2006-04-10 Martin Hunt <hunt@redhat.com> - - * translate.cxx (visit_print_format): Call - _stp_snprintf() instead of snprintf(). - -2006-04-09 Martin Hunt <hunt@redhat.com> - - Add binary printf support. - - * elaborate.cxx (visit_print_format): Don't include - conv_literal or conv_size in components vector. - Add conv_binary to switch statement. - - * translate.cxx (visit_print_format): Eliminate - special cast to (long long) for pe_long because new - vsnprintf uses int64_t. - - * staptree.h (struct print_format): Add conv_binary and conv_size. - - * staptree.cxx (components_to_string): Add conv_binary case. - Add conv_size case. - (string_to_components): Add cases for 'b' and 'n' - -2006-04-08 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (resolve_prologue_endings): Rewrote. - (resolve_prologue_endings2): Removed. - - * gen-stapmark.h: Emit a 0-arity marker. - * stapmark.h: Regenerated for arities 0..6. - -2006-04-04 Roland McGrath <roland@redhat.com> - - * configure.ac: Bump version to 0.5.5. - Require elfutils-0.120. - * configure: Regenerated. - * systemtap.spec.in: Likewise. - - * main.cxx (version): Use dwfl_version. - - * loc2c.c (array_stride): stride_size -> byte_stride - -2006-04-04 Tom Zanussi <zanussi@us.ibm.com> - - * stp_check: Change test for relay vs relayfs - -2006-03-30 Martin Hunt <hunt@redhat.com> - - * tapsets.cxx (dwarf_derived_probe::emit_registrations): - Change maxactive so single-processor kernels using - kretprobes don't get lots of dropped probes. - -2006-03-30 Frank Ch. Eigler <fche@elastic.org> - - PR 953, part 1 - * tapsets.cxx: (mark_derived_probe*): New classes. - (register_standard_tapsets): Register kernel/module.mark() family. - * stapmark.h: New header for static instrumentation markers. - * gen-stapmark.h: New perl script to generate it. - * elaborate.cxx (derived_probe ctor): Ignore null location*. - -2006-03-29 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (hrtimer_derived_probe::*): creates a probe point - based on the hrtimer APIs. - * tapsets.cxx (hrtimer_builder::*): parses the user's time-spec - into a 64-bit nanosecond value, and calls the appropriate - derived_probe. - * tapsets.cxx (register_standard_tapsets): add hrtimer bindings - * translate.cxx (translate_pass): add linux/random.h include, - used for generating 64-bit random numbers for hrtimers. - -2006-03-28 Martin Hunt <hunt@redhat.com> - - * testsuite/buildok/syscall.stp: Update so - it works again. - -2006-03-16 Tom Zanussi <zanussi@us.ibm.com> - - * configure.ac: Revert relayfs version check. - * configure: Reverted. - * translate.cxx (compile_pass): Remove relayfs include path. - -2006-03-15 Tom Zanussi <zanussi@us.ibm.com> - - * configure.ac: Add check for relayfs version. - * configure: Regenerated. - * stp_check.in: Remove bundled relayfs loading/compilation, add - check for relay (vs relayfs). - -2006-03-13 Josh Stone <joshua.i.stone@intel.com> - - * safety/safety.py: Support IA64 disassembly matching. - * safety/data/opcodes-ia64: new opcode rules for IA64. - * safety/data/references: Add references used by example scripts - when compiled for IA64. - -2006-03-13 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_globals): Tag globals, especially the locks, - as __cacheline_aligned. - -2006-03-09 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_locks): Emit dummy references to unlock_ ... - (emit_module_init): ... and probe_point. - -2006-03-06 Frank Ch. Eigler <fche@elastic.org> - - PR 2425 - * staptree.cxx (varuse_collecting_visitor::visit_embeddedcode): - Realize that $var-setter functions have side-effects. - * testsuite/transok/tval-opt.stp: New test. - -2006-03-06 Martin Hunt <hunt@redhat.com> - - * buildrun.cxx (run_pass): Add "-u username". - * stapfuncs.5.in: Document system(). - -2006-03-06 Frank Ch. Eigler <fche@elastic.org> - - * stapex.5.in: Use \[aq] for plain single quotes for encoding - variation tolerance. - -2006-03-03 Josh Stone <joshua.i.stone@intel.com> - - * main.cxx (main): search forward for dashes in the kernel release, - to work properly with release names with more than one dash. Also - * parse.cxx (eval_pp_conditional): ditto - * tapsets.cxx (profile_derived_probe::profile_derived_probe): ditto - * safety/safety.py (StaticSafety::__build_search_suffixes): ditto, - and add copyright & GPL tag - - PR 2390 - * main.cxx (main): expand search path so that revision w.x.y.z - searches w.x.y.z, w.x.y, and w.x. - -2006-03-03 Frank Ch. Eigler <fche@elastic.org> - - * tapset/indent.stp, indent-default.stp: New little tapset. - * stapfuncs.5.in: Document it. - * testsuite/buildok/indent.stp: Build it. - -2006-02-27 Josh Stone <joshua.i.stone@intel.com> - - * safety/*: Add a static safety checker. - -2006-02-25 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (var::init): Don't crush string module_params. - (emit_global_param): New function, forked out of emit_global, - to put module_param calls at the bottom of C file. - * translate.h: Corresponding changes. - -2006-02-23 Frank Ch. Eigler <fche@elastic.org> - - PR 1304 - * parse.cxx (lexer): Take systemtap_session argument. - (lexer::scan): Support $1..$NNNN and @1...@NNNN expansion. - * stap.1.in: Document this. - * testsuite/semok/args.stp: New test. - * translate.cxx (var::init, emit_global): Emit code to allow - named module parameters to initialize global string/number scalars. - * stap.1.in: Don't document this yet. - - PR 2334 - * main.cxx (main): Clarify "-v" option repeatibility. - * stap.1.in: Ditto. - -2006-02-23 Roland McGrath <roland@redhat.com> - - * Makefile.am (AUTOMAKE_OPTIONS): New variable, set dist-bzip2. - * Makefile.in: Regenerated. - -2006-02-23 Martin Hunt <hunt@redhat.com> - - PR 1989. Adds support for %p in printf - * staptree.h (struct print_format): Add conv_unsigned_ptr. - * staptree.cxx (components_to_string): Output 'p' - for conv_unsigned_ptr. - * elaborate.cxx (visit_print_format): Add case for - conv_unsigned_ptr. - -2006-02-23 Martin Hunt <hunt@redhat.com> - - * Makefile.am (install-data-local): Create tapset/i686 and - tapset/x86_64 directories. This fixes a problem where they - were included, but had bad permissions. - * Makefile.in: Rebuilt. - -2006-02-22 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Document get_cycles(). - * testsuite/buildok/timestamp.stp: Build it and its friends. - -2006-02-22 Frank Ch. Eigler <fche@elastic.org> - - PR 2293. - * tapsets.cxx (emit_probe_epilogue): Emit early local_irq_save(). - (emit_probe_epilogue): ... and matching _restore(). - - * main.cxx (main): Emit a "hello, I'm starting" message - before pass 5 in verbose mode. - -2006-02-17 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in (cpu): Document contextinfo function. - -2006-02-15 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (varlock*): Removed now unnecessary class. - (aggregation_locks): Renamed field to aggregations_active. - -2006-02-14 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Document new queue_stats tapset. - * elaborate.cxx (*): Put "while:" clarification messages before a - thrown semantic error. - * staptree.cxx (print_format::string_to_components): Correct - parse of "%%" formatting element. - -2006-02-07 Frank Ch. Eigler <fche@elastic.org> - - * src/testsuite/buildok/syscalls.stp: Build with "-u" to build-test - all auxiliary functions. - * tapsets.cxx (dwarf_query::add_probe_point): Add some "-vv" output. - -2006-02-07 Josh Stone <joshua.i.stone@intel.com> - - PR 2068 - * tapsets.cxx (dwarf_query::blacklisted_p): add __switch_to - to the blacklist for x86_64 architecture only. - -2006-02-06 Will Cohen <wcohen@redhat.com> - - * tapset/syscall2.stp: Correct opening comment typo. - -2006-02-06 Will Cohen <wcohen@redhat.com> - - * tapset/syscall2.stp: Correct closing comment typos. - -2006-02-01 Frank Ch. Eigler <fche@elastic.org> - - * testsuite/semko/one.stp: Make sure test case stays broken. - -2006-02-01 Martin Hunt <hunt@redhat.com> - - * stapfuncs.5.in: Document is_return(), returnval() and - probefunc(). - * testsuite/buildok/syscall.stp: Basic syscall test. - -2006-02-01 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac, systemtap.spec.in: Version 0.5.4. - * configure: Regenerated. - -2006-01-31 Josh Stone <joshua.i.stone@intel.com> - - PR 2252 - * translate.cxx (translate_pass): Fix legacy definition of - read_trylock. - -2006-01-30 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Also print elapsed real time for each pass. - -2006-01-27 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx: Make "-v" (verbose) flag a counter. - * stap.1.in: Document this. - * session.h: Corresponding changes. - * {elaborate,buildrun,tapsets,translate}.cxx: Update all uses of - verbose flag to compare it to sensible level for value of message. - -2006-01-27 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): In verbose mode, print user+sys times after - each pass. - * buildrun.cxx (compile_pass): Move success message back to main(). - -2006-01-26 Frank Ch. Eigler <fche@elastic.org> - - PR 2060: lock elevation, mop-up - * staptree.cxx (functioncall_traversing_visitor): Store a - current_function pointer during traversal. - (visit_embeddedcode): Use it to handle $target-synthesized functions. - (varuse_collecting_visitor::visit_assignment): Correct l-lr typo. - (visit_foreach_loop): Note added write on sorted foreach. - (visit_delete_statement): Note as read+write. - * staptree.h: Corresponding changes. - * elaborate.cxx (dead_assignment_remover::visit_expr_statement): - Correct stmt token after possible expression rewriting. - * tapsets.cxx (visit_target_symbol): Create naming convention - to recognize $target-synthesized functions. - * translate.cxx (emit_locks, emit_unlocks): New functions to - emit lock/unlock sequences at the outermost level of a probe. - (emit_probe): Call them. - (varlock_*): #if-0 out the lock code generation. Later, these - classes should be removed. - (translate_pass): Emit read_trylock() kludge macro for old kernels. - -2006-01-25 Frank Ch. Eigler <fche@elastic.org> - - PR 2205, patch from <hiramatu@sdl.hitachi.co.jp>: - * parse.cxx (scan): Correct EOF detection for %{ %} case. - -2006-01-24 Frank Ch. Eigler <fche@elastic.org> - - PR 2060 etc. - * tapsets.cxx (visit_target_symbol): Tolerate failed resolution by - letting target_symbol instance pass through to optimizer and - type checker. - * elaborate.cxx (semantic_pass_optimize): New family of functions and - associated visitor classes. - (visit_for_loop): Tolerate absent init/incr clauses. - (semantic_pass): Invoke unless unoptimized (-u) option given. - * main.cxx, session.h: Add support for flag. - * staptree.cxx (visit_for_loop): Tolerate absent init/incr clauses. - (traversing_visitor::visit_arrayindex): Visit the index expressions. - (functioncall_traversing_visitor): New class. - (varuse_tracking_visitor): New class. - * staptree.h: Corresponding changes. - * parse.cxx (parse_for_loop): Represent absent init/incr expressions - with null statement pointer instead of optimized-out dummy numbers. - * stap.1.in: Document optimization. - * testsuite/{semko,transko}/*.stp: Added "-u" or other code to many - tests to check bad code without optimizer elision. - * testsuite/semok/optimize.stp: New test. - - * elaborate.cxx (unresolved, invalid, mismatch): Standardize error - message wording. - * stapfuncs.5.in: Tweak print/printf docs. - * tapset/logging.stp: Remove redundant "print" auxiliary function, - since it's a translator built-in. - * testsuite/transok/five.stp: Extend test. - * translate.cxx (emit_symbol_data): Put symbol table into a separate - temporary header file, to make "-p3" output easier on the eyes. - * buildrun.cxx (compile_pass): Eliminate test-mode support throughout. - * main.cxx, session.h, translate.cxx: Ditto. - * main.cxx (main): For last-pass=2 runs, print post-optimization ASTs. - -2006-01-18 Josh Stone <joshua.i.stone@intel.com> - - * tapsets.cxx (profile_derived_probe::emit_probe_entries): Setup - c->regs properly in light of the emit_probe_prologue change. - -2006-01-18 Josh Stone <joshua.i.stone@intel.com> - - * translate.cxx (c_unparser::visit_foreach_loop): improved the error - message when _stp_pmap_agg fails. - -2006-01-18 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (c_unparser_assignment::visit_arrayindex): - Eliminate dummy assignments for "<<<" code. - -2006-01-17 Josh Stone <joshua.i.stone@intel.com> - - PR 2156 - * testsuite/buildok/pmap_foreach.stp: Add test with sorting - -2006-01-17 Josh Stone <joshua.i.stone@intel.com> - - PR 2156 - * translate.cxx (c_unparser::visit_foreach_loop): Check the return - value of _stp_pmap_agg() for NULL. - -2006-01-17 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Remove explicit kernel-devel dependency, - since some old kernel rpm builds don't virtual-provide it for - e.g. smp, hugemem. - -2006-01-17 Frank Ch. Eigler <fche@elastic.org> - - PR 2142 - * translate.cxx (EXTRACTORS_PERMISSIVE): New experimental policy - parameter. - (c_unparser::visit_arrayindex, visit_print_format, visit_stat_op): - Tolerate absent index (= NULL runtime return) in pmap. - (*): Make semantic_error messages consistently lower case. - * testsuite/buildok/iterate_histogram_buckets.stp: Note some missing - functionality. - -2006-01-17 Josh Stone <joshua.i.stone@intel.com> - - * stap.1.in: Document the 'delete' operator. - -2006-01-16 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in (elfutils_version): Require 0.119 now. - * configure.ac, systemtap.spec.in: Version 0.5.3. - * configure: Regenerated. - -2006-01-16 Josh Stone <joshua.i.stone@intel.com> - - PR 2140 - * translate.cxx (mapvar::del): Add ability to delete an indexed stat - from (p)maps. - (delete_statement_operand_visitor::visit_symbol): Add ability to - delete entire pmaps and scalars. - (delete_statement_operand_tmp_visitor): Add a special tmpvar visitor - to parallel delete_statement_operand_visitor. - (c_tmpcounter::visit_delete_statement): Invoke the new visitor. - * testsuite/buildok/delete.stp: Also test scalar deletes. - * vim/syntax/stap.vim: Recognize 'delete' operator. - -2006-01-15 Frank Ch. Eigler <fche@elastic.org> - - PR 2148 - * translate.cxx (MAXERRORS): Actually the max should be 0, so first - error aborts session. - -2006-01-13 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx (main): Suppress "Try again with -v" message if already - verbose. - -2006-01-13 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (c_unparser:getmap): Correct exception throwing typo. - -2006-01-12 Josh Stone <joshua.i.stone@intel.com> - - PR 2056 - * translate.cxx (c_unparser::aggregation_locks): Keeps track of - foreach's locks on pmaps to avoid extra aggregation. - (c_unparser::visit_foreach_loop): Set aggregation_locks appropriately. - (c_unparser::load_aggregate, mapvar::call_prefix, mapvar::get): - Use a new parameter to indicate that we should read from the - already-aggregated map rather than the full pmap.. - (c_unparser::visit_arrayindex c_unparser::visit_print_format, - c_unparser::visit_stat_op): Use aggregation_locks to avoid taking a - lock and aggregating the pmap. - (c_unparser::emit_map_type_instantiations): To read from a pmap's - aggregated map, we need to include map-gen.c for the _stp_map_* - functions. - (c_unparser::obtained_locks, varlock::varlock, varlock::~varlock): - Add simple static checking to detect incompatible nested locks during - translation, and flag it as an error. - -2006-01-11 Josh Stone <joshua.i.stone@intel.com> - - PR 2140 - * testsuite/buildok/delete.stp: Test correct compilation of the - 'delete' operator for all "legal" variations. - -2006-01-11 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (MAXERRORS): Oops, set back to intended default of 1. - -2006-01-10 Frank Ch. Eigler <fche@redhat.com> - - PR 1972. - * tapsets.cxx (var_expanding_copy_visitor::visit_target_symbol): - Produce error message for $var access within .return probes. - * testsuite/semko/thirtyfour.stp: New test. - -2006-01-10 Frank Ch. Eigler <fche@redhat.com> - - PR 2060. - * buildrun.cxx (compile_pass): Add "V=1" to kbuild if verbose. - * translate.cxx (translator_output): For output-file constructor, - set an explicit output buffer. - (emit_module_init, emit_module_exit): Reorganize output, to spit - each individual probe registration/deregistration blurb into a - separate function. - * translate.h: Corresponding changes; set default buffer size to 8K. - * translate.cxx, tapsets.cxx: Replace "endl" by buffer-friendly "\n" - throughout code generation routines. - -2006-01-09 Frank Ch. Eigler <fche@redhat.com> - - * HACKING: Extend guidelines for tapset testing. - -2006-01-06 Will Cohen <wcohen@redhat.com> - - * Makefile.am (gcov,lcov): Don't remove .gcno .gcda files. - * Makefile.am (gcov): Fix to report data when tests fail. - * Makefile.am (lcov): New rule to generate html coverage data. - * Makefile.in: Regenerated. - -2006-01-05 Josh Stone <joshua.i.stone@intel.com> - - PR 2056 - * translate.cxx (var::~var, var::hist, var::buckets): make these - methods virtual, so we can use polymorphism. - (mapvar::hist, mapvar::buckets): Override the corresponding var - methods to handle pmaps correctly. - (c_unparser::visit_arrayindex, c_unparser::visit_print_format): Make - use of the new polymorphic behavior of var & mapvar when dealing with - histogram data. - * testsuite/buildok/pmap_foreach.stp: Add tests to check histogram - accesses with for/foreach. - -2006-01-04 Frank Ch. Eigler <fche@elastic.org> - - PR 2057. - * translate.cxx (c_unparser_assignment::visit_arrayindex): Don't take - write lock around pmap accumulation. - -2006-01-04 Will Cohen <wcohen@redhat.com> - - * testsuite/buildok/printf.stp: Improve test coverage. - -2006-01-03 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (emit_deregistration): Fix bad thinko on loop nesting. - -2006-01-03 Frank Ch. Eigler <fche@redhat.com> - - PR 1144, 1379 - * tapsets.cxx (emit_probe_prologue, _epilogue): New routines. - Call from existing derived_probe spots. Implement soft errors in - epilogue code. Implement reentrancy detection in prologue code. - (dwarf_derived_probe::emit_deregistration): Add kprobes layer - "nmissed" to skipped_count. - * translate.cxx (varlock): Use nsleep(TRYLOCKDELAY) in lock - contention loop. - (emit_module_exit): Report number of soft errors and skipped probes. - (emit_function, _probe): Add __restrict__ marker to context pointer. - (translate_pass): Define new MAXTRYLOCK, TRYLOCKDELAY, MAXERRORS, - MAXSKIPPED parameters. - * tapset/logging.stp (error): Don't stp_error, just set context state. - * stap.1.in, stapfuncs.5.in: Document soft errors. - * elaborate.h: Corresponding changes. - -2005-12-23 Kevin Stafford <krstaffo@us.ibm.com> - - * tapset/2.6.9-20.ELsmp/syscalls.stp: added kernel - version tapset - * tapset/2.6.9-20.ELsmp/i686/syscalls.stp: added kernel - version arch specific tapset - * tapset/doc/discrepancies.txt: log of kernel version - discrepancies. - -2005-12-22 Roland McGrath <roland@redhat.com> - - * configure.ac: Pass LDFLAGS to elfutils configure to force DT_RUNPATH. - * configure: Regeneraed. - -2005-12-21 Josh Stone <joshua.i.stone@intel.com> - - PR 2056 - * translate.cxx (itervar::next): emit different code for pmaps - -2005-12-21 Frank Ch. Eigler <fche@elastic.org> - - * loc2c.h: Add __attribute__ defeating code for g++ 3.3 compatibility. - -2005-12-20 Josh Stone <joshua.i.stone@intel.com> - - * vim/filetype.vim: defines *.stp files as SystemTap scripts - * vim/ftplugin/stap.vim: sets the comment styles - * vim/indent/stap.vim: enables simple auto-indenting - * vim/syntax/stap.vim: defines syntax highlighting - -2005-12-19 Roland McGrath <roland@redhat.com> - - * configure.ac, systemtap.spec.in: Version 0.5.2. - * configure: Regenerated. - -2005-12-17 Roland McGrath <roland@redhat.com> - - * staptree.h: #include <cassert> here. - -2005-12-14 Kevin Stafford <krstaffo@us.ibm.com> - - * tapset/2.6.14/syscalls.stp: Added 2.6.14 syscalls to tapset. - * 2.tapset/6.14/i686/syscalls.stp: Added i386 arch specific syscalls - to tapset for kernel 2.6.14. - * tapset/2.6.9-24.ELsmp/syscalls.stp: Added 2.6.9-24.ELsmp syscalls. - * tapset/2.6.9-24.ELsmp/x86_64/syscalls.stp: Added x86_64 arch - specific syscalls to tapset for kernel 2.6.9-24.ELsmp. - * tapset/system_calls.stp: File removed. - -2005-12-14 Martin Hunt <hunt@redhat.com> - - * tapset/system_calls.stp (epoll.ctl): Temporarily remove - references to $op and $event because gcc 4.0.2 can't - find them. - (epoll.wait): Ditto for $maxevents. - -2005-12-13 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (var_expanding_copy_visitor::visit_target): - Transcribe token pointer to synthesized functiondecl. - -2005-12-12 Josh Stone <joshua.i.stone@intel.com> - - * tapset/context.stp - (execname,pid,tid,ppid,pexecname,gid,egid,uid,euid): Removed - in_interrupt checks and other pointer checks. We now operate on - the assumption that "current" and its related data are always - valid. - * tapsets.cxx (profile_derived_probe::*,profile_builder::build): - Do kernel version checks at translation time, using the same - internal mechanisms as the preprocessor - a la %( kernel_v < - "2.6.10" %? ... %: ... %) - -2005-12-12 Kevin Stafford <krstaffo@us.ibm.com> - - * main.cxx (main): Added arch directory to the existing - kernel-version-sensitive search path. - -2005-12-12 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (translate_pass): Emit #include <linux/profile.h>. - -2005-12-12 Will Cohen <wcohen@redhat.com> - - * tapset/logging.stp (function_exit): Make sure systemtap probes - stop collection additional data. - -2005-12-12 Frank Ch. Eigler <fche@redhat.com> - - Fix parse tree pretty-printer. - * staptree.h (print_format): Add raw_components field. - * parse.cxx (parse_symbol): Set it. - * staptree.cxx (lex_cast_qstring): Copy it here too. - (binary_expression::print): Add a space around operator, due to - lexical ambiguity (expr % paren-expr) vs %( preprocessor op. - (array_in:: foreach_loop:: arrayindex::print): Print base as indexable. - (print_format::string_to_components): Use parse_error, not semantic. - (print_format::print): Properly quote formatting string. Print - histogram argument. - * translate.cxx (visit_print_format): Properly quote formatting string. - (varlock): Reword lock timeout error message. - * testsuite/buildok/printf.stp: Add some quoting troublemakers. - * testsuite/parseok/unparser.stp: New file. - -2005-12-11 Roland McGrath <roland@redhat.com> - - * configure.ac: Bump version to 0.5.1 for test builds. - * systemtap.spec.in: Remove ExclusiveArch. - * configure: Regenerated. - - PR 1916 - * configure.ac: Grok --with-elfutils. - * Makefile.am [BUILD_ELFUTILS] (install-elfutils, stamp-elfutils): - New targets. - [BUILD_ELFUTILS] (stap_LDFLAGS, stap_LDFLAGS): Add flags - to point at local elfutils build. - [BUILD_ELFUTILS] (BUILT_SOURCES): Add stamp-elfutils. - [BUILD_ELFUTILS] (stap_DEPENDENCIES): New variable. - [BUILD_ELFUTILS] (lib-elfutils/libdw.so): New target. - [BUILD_ELFUTILS] (install-exec-local): Depend on install-elfutils. - (loc2c_test_LDADD): Set this to $(stap_LDADD). - (loc2c_test_CPPFLAGS, loc2c_test_LDFLAGS): New variables. - * Makefile.in: Regenerated. - * compile: New file from automakeland. - * systemtap.spec.in (elfutils_version): Require 0.118 or later. - [bundled_elfutils]: Remove old hacks for building elfutils, and rely - on configure --with-elfutils instead. - - * Makefile.am (pkglibexecdir): New variable. - (AM_CPPFLAGS): Use it. - (pkglibexec_PROGRAMS): Set this instead of noinst_PROGRAMS with stpd. - (pkglibexec_SCRIPTS, CLEANFILES): New variables. - (install-exec-local): Target removed. - * runtest.sh: Set LD_LIBRARY_PATH when lib-elfutils is in use. - - * loc2c-test.c (get_location): Fix function name in error message. - -2005-12-09 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx (alias_expansion_builder::build): Fix comment typo. - * tapsets.cxx (symbol_cache): New class. - (dwflpp::cache): Add cache. - (dwflpp::pattern_limited_cus): New member. - (dwflpp::pattern_limited_funcs): New member. - (dwflpp::limit_search_to_function_pattern): New method. - (dwflpp::iterate_over_cus): Modify to use cached, limited sets. - (dwflpp::iterate_over_functions): Likewise. - (dwarf_builder::user_dw): New member. - (dwarf_builder::kern_dw): New member. - (dwarf_builder::~dwarf_builder): Add dtor. - (query_module): Call dwflpp::limit_search_to_function_pattern. - (dwarf_builder::build): Initialize persistent dwflpp members on demand. - -2005-12-08 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (delete_statement_operand_visitor::visit_arrayindex): - Prohibit deleting histogram buckets. - (c_tmpcounter::visit_array_in): Direct to visit_arrayindex. - (c_unparser::visit_array_in): Likewise. - - * testsuite/buildok/histogram_operator_in.stp: New test. - -2005-12-08 Frank Ch. Eigler <fche@elastic.org> - - PR 1937 - * buildrun.cxx (run_pass): Pass new "-d PID" option to stpd. - Set SIGHUP to SIG_IGN too. - -2005-12-07 Graydon Hoare <graydon@redhat.com> - - * staptree.cxx (traversing_visitor::visit_foreach_loop): Visit - the base indexable of the foreach loop. - - * translate.cxx (c_tmpcounter::visit_foreach_loop): Implement - histogram bucket iteration arm. - (c_unparser::visit_foreach_loop): Likewise. - (c_tmpcounter::visit_arrayindex): Fix typo. - - * testsuite/buildok/iterate_histogram_buckets.stp: New test. - -2005-12-07 Martin Hunt <hunt@redhat.com> - - * translate.cxx (mapvar::fini): Use _stp_pmap_del() on pmaps. - (emit_global): For pmaps, use "PMAP" instead of "MAP". - -2005-12-06 Frank Ch. Eigler <fche@elastic.org> - - PR 1934. - * tapsets.cxx (resolve_prologue_endings2): Add new heuristic for - tail-call optimized functions. - (query_func_info): Make somewhat less verbose. - -2005-12-06 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (visit_print_format): Explicitly Cast int64_t - (pe_long) args to (long long) in generated code, for portability. - -2005-12-05 Frank Ch. Eigler <fche@elastic.org> - - * *.cxx: Add <cassert> #include as needed. - -2005-12-02 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx (mutated_var_collector): Forward - traversal portion of calls to base class. - (mutated_var_collector::visit_arrayindex): Resolve - arrayindex-into-histogram expression as pe_long. - (typeresolution_info::visit_print_format): Traverse - into histogram if present. - - * parse.cxx (parse_symbol): Handle parse ambiguity surrounding - print(@hist_op(...)[...]). - - * staptree.cxx (traversing_visitor::visit_arrayindex): Visit - base member of arrayindex. - - * translate.cxx (c_unparser::histogram_index_check): New method. - (var::hist): Fix bug. - (var::buckets): New method. - (stmt_expr::stmt_expr): Print with newline. - (c_unparser::load_map_indices): Handle indexing-histogram case. - (c_tmpcounter::visit_arrayindex): Likewise. - (c_unparser::visit_arrayindex): Likewise. - (c_tmpcounter_assignment::visit_arrayindex): Throw error when - user attempts to write to histogram bucket. - (c_unparser_assignment::visit_arrayindex): Likewise. - - * testsuite/buildok/print_histogram_entry.stp: New test. - -2005-12-02 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Bump version number. - * stap.1.in: Document some of the new print/stats stuff. - * configure: Regenerated. - * systemtap.spec.in: Enable ia64 and ppc builds. - -2005-12-01 Frank Ch. Eigler <fche@elastic.org> - - PR 1944 improved hack. - * translator.cxx (c_tmpcounter::visit_block): New routine, allows - overlay of sequential statements' temporaries within context. - -2005-12-01 Frank Ch. Eigler <fche@redhat.com> - - PR 1944 quick hack. - * translator.cxx (translate_pass): Reduce default MAXNESTING to 10. - (emit_module_init): Add a paranoid check against oversize contexts. - * stap.1.in: Document MAXNESTING change. - -2005-11-30 Frank Ch. Eigler <fche@redhat.com> - - PR 1276 - From Josh Stone <joshua.i.stone@intel.com>: - * tapsets.cxx (profile_derived_probe, profile_builder, - register_standard_tapsets): Support timer.profile variety. - * stapprobes.5.in: Document it. - * testsuite/builok/fourteen.stp: Test its buildability. - -2005-11-28 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (var::assert_hist_compatible): New method. - (var::hist): New method. - (c_unparser::load_aggregate): New method. - (hist_op_downcaster): Remove, it was a mistake. - (expression_is_hist_op): Likewise. - (c_tmpcounter::visit_print_format): Implement print(@hist(...)). - (c_unparser::visit_print_format): Likewise. - - * staptree.h (struct print_format): Add optional hist_op* member. - * staptree.cxx (traversing_visitor::visit_functioncall): Visit - hist_op if present in print_format. - (deep_copy_visitor::visit_print_format): Likewise. - - * parse.cxx (parse_symbol): Special case to consume print(@hist(...)). - - * elaborate.cxx (typeresolution_info::visit_arrayindex): Fix type inference bug. - (typeresolution_info::visit_foreach_loop): Likewise. - - * testsuite/buildok/print_histograms.stp: New test. - -2005-11-28 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (c_tmpcounter_assignment::visit_symbol): Don't - emit unused temporary into context. Saves mucho space with strings. - -2005-11-27 Roland McGrath <roland@redhat.com> - - * loc2c.c (location_from_address): Diagnose null FB_ATTR specially. - - * loc2c.c (location_from_address): Fix function name in error message. - -2005-11-27 Frank Ch. Eigler <fche@elastic.org> - - * loc2c.c (location_from_address): Tolerate errors with NULL *input. - -2005-11-26 Roland McGrath <roland@redhat.com> - - PR 1868. - * loc2c.c (struct location): Move frame_base member out of the union. - (alloc_location): Initialize it. - (new_synthetic_loc, translate, location_from_address): Update uses. - (emit_loc_value): Don't handle frame_base here. - (c_emit_location): Do it here instead. - (translate): Track USED_DEREF separately for each piece. - Use a temporary struct when allocating a new piece, letting - a pending loc_address piece finish up first. - - * loc2c-test.c (main): Free SCOPES at end. - (handle_variable): Free POOL at end. - - * loc2c.c (translate): Initialize LOC->address.used_deref at start. - -2005-11-25 Frank Ch. Eigler <fche@elastic.org> - - PR 1336. - * tapsets.cxx (translate_final_fetch_or_store): Remove apparently - unnecessary check. - * testsuite/transok/ten.stp: New test for void* integerification. - -2005-11-24 Frank Ch. Eigler <fche@redhat.com> - - PR 1903 - * parse.cxx (eval_pp_conditional): Support %( arch == "i686" %) form. - * stap.1.in: Document it. - * testsuite/parseok/fourteen.stp: Test it. - * session.h (architecture): New field. - * main.cxx (main): Initialize it. - -2005-11-24 Frank Ch. Eigler <fche@redhat.com> - - PR 1917 - * translate.cxx (emit_common_header, emit_module_init, - emit_module_exit): Switch context array to per-cpu kmalloc variant. - * tapsets (*::emit_probe_entires): Use per_cpu_ptr() for my context. - -2005-11-23 Graydon Hoare <graydon@redhat.com> - - * elaborate.h (get_symbol_within_expression): Make visible. - * elaborate.cxx (get_symbol_within_expression): Make non-static. - (stat_decl_collector): New struct. - (semantic_pass_stats): New semantic pass. - (semantic_pass): Call it. - (semantic_pass_symbols): Remove collection of statistic_decls from files. - (visit_stat_op): Only fail if inferred type is not pe_long. - - * parse.cxx (parser::parse): Don't pass per-file statistic_decl - into parse_global. - (parser::parse_global): Don't parse global statistic_decls, - they're obsolete. - * parse.hh (parser::parse_global): Adjust signature to match. - - * session.h (statistic_decl::operator==): New method. - - * staptree.h (print_format::is_empty): New method. - (stapfile::stat_decls): Remove field. - * staptree.cxx (string_to_components): Fix bugs in format-string - parser. - - * translate.cxx (var): Make private fields protected. - (var::init): Support HIST_NONE stats. - (aggvar): New struct. - (mapvar::is_parallel): New method. - (mapvar::call_prefix): Use it. - (mapvar::calculate_aggregate): New method. - (mapvar::fetch_existing_aggregate): New method. - (mapvar::get): Support pe_stats. - (mapvar::init): Use is_parallel(), and support HIST_NONE. - (itervar::itervar): Only fault on pe_unknown. - (itervar::start): Use mapvar::is_parallel and - mapvar::fetch_existing_aggregate. - (emit_map_type_instantiations): Include alloc.c before pmap-gen.c. - Include pmap-gen.c for pe_stats maps. - (c_unparser::gensym_aggregate): New method. - (c_unparser::visit_foreach_loop): Handle mapvar::is_parallel case. - (arrayindex_downcaster): New struct. - (expression_is_arrayindex): New function. - (c_tmpcounter::visit_stat_op): New method. - (c_unparser::visit_stat_op): Implement. - (c_unparser::visit_hist_op): Add commentary, still not implemented. - - * testsuite/buildok/stat_{insert,extract}.stp: New tests. - * testsuite/semok/ten.stp: Correct for changes to global declarations. - * testsuite/semko/*.stp: Likewise. - -2005-11-21 Roland McGrath <roland@redhat.com> - - * loc2c.c (c_translate_location): Take Dwarf_Op vector as argument - directly, not Dwarf_Attribute. - * loc2c.h: Update decl. - * loc2c-test.c (get_location): New function. - (handle_variable): Use it. - * tapsets.cxx (dwflpp::translate_location): New method. - (dwflpp::translate_components, dwflpp::literal_stmt_for_local): Use it. - -2005-11-21 Frank Ch. Eigler <fche@elastic.org> - - PR 1276 - From Josh Stone <joshua.i.stone@intel.com>: - * tapsets.cxx (timer_derived_probe, timer_builder, - register_standard_tapsets): Support timer.ms() variety. - * stapprobes.5.in: Document it. - * testsuite/builok/fourteen.stp: Test its buildability. - -2005-11-18 Martin Hunt <hunt@redhat.com> - - PR 1837 - * testsuite/buildko/one.stp: Replace printk. - * testsuite/buildok/one.stp: Ditto. - * testsuite/buildok/two.stp: Ditto. - * testsuite/semko/fifteen.stp: Ditto. - * testsuite/semko/fourteen.stp: Ditto. - * testsuite/semko/thirteen.stp: Ditto. - * testsuite/transok/eight.stp: Ditto. - * testsuite/transok/seven.stp: Ditto. - * testsuite/transok/six.stp: Ditto. - - * tapsets.cxx (*::emit_probe_entries): Replace printk() calls - with _stp_warn(). - - * stap.1.in: Replace printk with printf in example. - - * stapfuncs.5.in: Remove docs for printk and add for - print and printf. - - * tapset/logging.stp (printk): Deleted. - -2005-11-13 Graydon Hoare <graydon@redhat.com> - - * staptree.h (struct indexable): New struct. - (classify_indexable): New function. - (classify_const_indexable): New function. - (struct symbol): Implement indexable. - (struct arrayindex): Take indexable as base. - (struct foreach_loop): Take indexable as base. - (struct print_format): New struct. - (enum stat_component_type): New enum. - (struct stat_op): New struct. - (enum historgram_type): New enum. - (struct hist_op): New struct. - (struct visitor) - (struct traversing_visitor) - (struct throwing_visitor) - (struct deep_copy_visitor): Add new visitor methods. - (require): Specialize for indexable*. - - * staptree.cxx (print_format::*) - (stat_op::*) - (hist_op::*) - (indexable::*) - (traversing_visitor::*) - (throwing_visitor::*) - (deep_copy_visitor::*) - (classify_indexable) - (classify_const_indexable): Implement - (deep_copy_visitor::*): Update to use indexables. - - * parse.h (parser::parse_indexable): New method. - (parser::parse_hist_op_or_bare_name): New method. - - * parse.cxx (lexer::scan): Accept @ in identifiers. - (parser::parse_array_in) - (parser::parse_foreach_loop): Call parse_indexable. - (parser::parse_hist_op_or_bare_name): Implement. - (parser::parse_indexable): Implement. - (parser::parse_symbol): Accept printf, stat_ops, hist_ops. - - * elaborate.h (struct typeresolution_info): Add methods for - visiting print_format, stat_op, hist_op. - - * elaborate.cxx (symbol_fetcher): New class. - (get_symbol_within_expression): New function. - (get_symbol_within_indexable): New function. - (mutated_var_collector): Replace mutated_map_collector. - (no_var_mutation_during_iteration_check): Replace - no_map_mutation_during_iteration_check. - (semantic_pass_vars): Replace semantic_pass_maps. - (semantic_pass): Update call accordingly. - (symresolution_info::*) Add new visitors, teach about indexables - (typeresolution_info::*) Likewise. - - * translate.cxx - (c_unparser::getiter): Take symbol, not foreach_loop. - (c_unparser::*) Add new visitors, teach about indexables. - (c_tmpcounter::*) - (delete_statement_operand_visitor::visit_arrayindex) - (c_tmpcounter_assignment::*) - (c_unparser_assignment::*): Likewise. - (hist_op_downcaster): New struct. - (expression_is_hist_op): New function. - - * testsuite/buildok/printf.stp: New test for print_format. - -2005-11-10 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (c_unparser::visit_array_in, visit_arrayindex): - Finish adapting to PR 1275 by switching back to read locks. - -2005-11-09 Martin Hunt <hunt@redhat.com> - - * translate.cxx: New API uses HIST_LOG and HIST_LINEAR - instead of HSTAT_LOG and HSTAT_LINEAR. - -2005-11-09 Frank Ch. Eigler <fche@elastic.org> - - Reported by Guang Lei Li <liguangl@cn.ibm.com>: - * tapset/context.stp (pid,ppid,tid): Correctly pick tgid vs pid. - * testsuite/buildok/context_test.stp: Print out tid() too. - -2005-11-08 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (blacklisted_p): Tolerate NULL filename parameter. - * src/testsuite/semok/twenty.stp: New test to enumerate everything - dwarfly probeable. - -2005-11-08 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (c_unparser::visit_foreach_loop): With PR 1275 - done, add back read lock around foreach loop. Add a write lock - around preceding sort operation. Leave a race condition window. :-( - -2005-11-08 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (mapvar::exists): Correct some more. - -2005-11-08 Frank Ch. Eigler <fche@redhat.com> - - Patch from "Mao, Bibo" <bibo.mao@intel.com> - * translate.cxx (mapvar::exists): Correct 64-bit type mismatch. - -2005-11-08 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (blacklisted_p): Add blacklist for some .return - probes to kludge around bug #1345. - * tapset/system_calls.stp: Add some %( %? %) conditionals to - get closer to using tapset on 2.6.9 kernel. - -2005-11-07 Frank Ch. Eigler <fche@redhat.com> - - PR 1828. - * tapsets.cxx (blacklisted_p): New function. Add a few blacklist - entries. - * testsuite/semko/thirtythree.stp: New test. - -2005-11-07 Frank Ch. Eigler <fche@redhat.com> - - * testsuite/buildok/twentytwo.stp: Add another test for PR 1271. - -2005-11-04 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (dwarf_derived_probe::emit_registrations): Add - possible kprobe address prechecking logic. Set kretprobes - maxactive to zero. - * translate.cxx (emit_module_init): Set a more helpful default - probe_point value for use in registration errors. Exit properly - after registration failure of probe #0. - -2005-11-04 Roland McGrath <roland@redhat.com> - - * tapsets.cxx (add_probe_point): Use dwfl_module_relocation_info to - get symbol name when dwfl_module_relocations has the info. - -2005-11-03 Roland McGrath <roland@redhat.com> - - * tapsets.cxx (add_probe_point): Use explicit test with assignment in - while condition. - -2005-11-03 Frank Ch. Eigler <fche@elastic.org> - - PR 1329. - * tapsets.cxx (dwarf_query::add_probe_point): Look up section name - containing given address. Skip request if it came from .init.*. - * testsuite/semko/thirtytwo.stp: New test. - -2005-11-02 Martin Hunt <hunt@redhat.com> - - * Makefile.am (EXTRA_DIST): Add session.h. - * Makefile.in: Regenerated. - -2005-11-01 Frank Ch. Eigler <fche@elastic.org> - - Sound advice from <drepper@redhat.com>: - * configure.ac: Undo last change. - * configure.ac: Unregenerated. - * parse.cxx: Use glibc strverscmp function instead of rpmlib. - * stap.1.in: Update correspondingly. - -2005-11-01 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (c_unparser::collect_map_index_types) - (c_unparser::emit_map_type_instantiations) - (c_unparser::visit_arrayindex) - (c_unparser::visit_array_in) - (delete_statement_operand_visitor::visit_arrayindex) - (c_unparser_assignment::visit_arrayindex) - (mapvar::*): Update to new runtime map API. - -2005-11-01 Frank Ch. Eigler <fche@elastic.org> - - PR 1425. - * configure.ac: Look for rpm-devel headers and libs. - * configure: Regenerated. - * session.h: New file to contain systemtap_session decl. - * staptree.h: Likewise evict statistics_decl. - * elaborate.h: Corresponding changes. - * main.cxx (usage): Elaborate. Re-enable "-r RELEASE" option. - * parse.cxx (parser): Add systemtap_session& field. Update users. - (scan_pp, eval_pp_conditional): New routines for preprocessing. - (peek, next): Call it. - (lexer::scan): Lex the preprocessor operators. - (parser::parse): Include an extra level of exception catching - for parse errors that occur during recovery. - * parse.h: Corresponding changes. - (parse_error): Allow explicit token parameter. - * stap.1.in: Document preprocessing. - * testsuite/parseok/fourteen.stp: New test. - -2005-10-31 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in, configure.ac: Version 0.4.2 cooked. - * configure: Regenerated. - - * configure.ac: Update libdw test to require 0.116 with dwarf_diecu. - * configure: Regenerated. - * systemtap.spec.in: Update elfutils requirement to 0.116. - * loc2c.c: Dwarf_Loc -> Dwarf_Op. - (location_from_address): dwarf_addrloclists -> dwarf_getlocation_addr. - (c_translate_location): Likewise. - (max_fetch_size): Remove fakeo dwarf_diecu macro. - * tapsets.cxx (dwflpp): Dwarf_Func -> Dwarf_Die; - dwarf_func_name -> dwarf_diename; - dwarf_func_entrypc -> dwarf_entrypc; - dwarf_func_file, dwarf_func_line -> dwarf_decl_file, dwarf_decl_line. - -2005-10-26 Roland McGrath <roland@redhat.com> - - * loc2c.c (max_fetch_size): Default to host pointer size, - while still waiting for new libdw entrypoint. - -2005-10-25 Roland McGrath <roland@redhat.com> - - PR 1271 cont'd. - * testsuite/buildok/twentytwo.stp: New file. - * testsuite/buildok/twentythree.stp: New file. - * loc2c.c (discontiguify): Add missing ; in output. - -2005-10-20 Graydon Hoare <graydon@redhat.com> - - PR 917 (incomplete) - * staptree.h (struct statistic_decl): New struct. - (stapfile::stat_decls): New member. - - * parse.h, parse.cxx - (parser::expect_known): Fix typo. - (parser::expect_number): New method. - (parser::parse_global): Parse global statistic_decls. - - * elaborate.h (systemtap_session::stat_decls): New member. - * elaborate.cxx (semantic_pass_symbols): Copy per-file stat_decls - to session-wide. - (typeresolution_info::visit_assignment): Detect some semantic stats - errors in type resolution pass. - - * translate.cxx (var::sd): New private member. - (var::var): Initialize it. - (var::sdecl): New accessor. - (var::init): Handle stats values. - (mapvar::mapvar): Pass through statistic_decl to var ctor. - (mapvar::get): Test for long explicitly. - (mapvar::set): Likewise. - (mapvar::init): Handle stats values. - (c_unparser::emit_common_header): Remove typedef of stats_t, - include stat.c when necessary. - (mapvar::key_typename): Typo. - (c_unparser::emit_map_type_instantiations): Thinko: value_typename not key_typename. - (c_unparser::c_typename): Implementation typename is "Stat", not "stats_t". - (c_unparser::c_assign): Fix bad error message. - (c_unparser_assignment::c_assignop): Handle operator <<<. - (c_unparser::getvar): Feed session statistic_decl into var. - (c_unparser::getmap): Likewise. - (c_unparser::visit_assignment): Handle operator <<<. - (c_tmpcounter_assignment::visit_symbol): Derive type from rvalue when present. - (c_unparser_assignment::visit_symbol) - (c_tmpcounter_assignment::visit_arrayindex) - (c_unparser_assignment::load_map_indices): Likewise. - (c_unparser::visit_arrayindex): Likewise, and Prohibit statistic rvalues. - (c_unparser_assignment::visit_arrayindex): Handle operator <<<. - - * testsuite/semko/twentyfour.stp: - * testsuite/semko/twentyfive.stp: - * testsuite/semko/twentysix.stp: - * testsuite/semko/twentyseven.stp: - * testsuite/semko/twentyeight.stp: - * testsuite/semko/twentynine.stp: - * testsuite/semko/thirty.stp: - * testsuite/semko/thirtyone.stp: New tests for prohibited statistic contexts. - * testsuite/buildok/twentytwo.stp: New test for legal statistic contexts. - -2005-10-19 Tom Zanussi <zanussi@us.ibm.com> - - PR 1194. - * elaborate.h: Move output_file variable into systemtap_session. - * buildrun.cxx (run_pass): Pass output file to stpd if applicable. - * main.cxx (main): Set output_file if -o option specified. - -2005-10-18 Frank Ch. Eigler <fche@redhat.com> - - PR 1477. - * main.cxx (main): Set PATH and LC_ALL, so - * buildrun.cxx (compile_pass, run_pass): ... and ... - * translate.cxx (emit_symbol_data): ... don't have to. - -2005-10-18 Frank Ch. Eigler <fche@elastic.org> - - PR 1482 cont'd. - * translator.cxx (emit_module_init): Set aside a variable for - detailed probe point id. - * tapsets.cxx (emit_registrations): Use it. - (add_probe_point): Correct synthesized probe-point typo. - -2005-10-17 Martin Hunt <hunt@redhat.com> - - PR 1482 - * tapsets.cxx (emit_registrations): On failure, don't - forget to unregister probe 0; - -2005-10-17 Frank Ch. Eigler <fche@elastic.org> - - PR 1338. - * parse.cx (parse_probe): Unconditionally visit parse_probe_point. - (parse_probe_point): Accept "*" as component name. - * stapprobes.5.in: Document this. - * elaborate.cxx (derive_probes): Rewrite. Make top-level function. - (match_node::find_and_build): New function to replace - (find_builder): Removed. - (match_key operator <): Correct one nasty typo. - (match_node::bind): Refuse to bind "*" component names. - (derived_probe_builder::build): Remove recursion output param. - (alias_expandion_builder::build): Recurse to derive_probes instead. - * elaborate.h: Corresponding changes. - * tapsets.cxx: Ditto. - (query_cu): Elide prologue finding for uninteresting CUs. - * testsuite/semok/nineteen.stp: New test. - * testsuite/semko/twentythree.stp: New test. - * testsuite/semko/twentyone/two.stp: Fix -p2. - -2005-10-17 Graydon Hoare <graydon@redhat.com> - - * testsuite/semko/twentyone.stp: Check function doesn't match inline. - - * testsuite/semko/twentytwo.stp: Check inline doesn't match function. - - * testsuite/buildok/six.stp: Change "function" to "inline". - - * stapprobes.5.in: Describe "inline" probes. - - * tapsets.cxx (TOK_INLINE): New token "inline". - (dwarf_query::has_inline_str) - (dwarf_query::has_inline_num) - (dwarf_query::inline_str_val) - (dwarf_query::inline_num_val): New members. - (dwarf_query::dwarf_query): Load new members. - (query_dwarf_inline_instance) - (query_dwarf_func) - (query_cu) - (query_module) - (dwarf_derived_probe::add_probe_point) - (dwarf_builder::build): - Use inline-related members where appropriate. - (dwarf_derived_probe::register_inline_variants): New method. - (dwarf_derived_probe::register_function_and_statement_variants): - Call it. - -2005-10-14 Roland McGrath <roland@redhat.com> - - PR 1271. - * loc2c.c (translate): Set LOC->byte_size in loc_noncontiguous result. - (struct location.address): New member `declare'. - (new_synthetic_loc, translate): Initialize it. - (struct location.type): Add loc_fragment, loc_decl to enum. - (c_emit_location): Emit unadorned code for loc_fragment. - (discontiguify): New function. - (c_translate_fetch, c_translate_store): Call it. - (get_bitfield): New function, broken out of .... - (emit_bitfield): ... here. Function removed. - (declare_noncontig_union): New function. - (max_fetch_size): New function. - (translate_base_fetch): New function, broken out of ... - (c_translate_fetch): ... here. Call it. - Use get_bitfield here, not emit_bitfield. - (c_translate_store): Likewise. - (c_emit_location): Emit declarations first. - - * loc2c.c (dwarf_diename_integrate): Function removed. - Change all callers to use dwarf_diename. - - * loc2c-test.c (handle_variable): Check for "=" before fetching DIE - from ATTR_MEM. - -2005-10-13 Roland McGrath <roland@redhat.com> - - * loc2c.c (c_emit_location): Use final location's used_deref flag too. - - * loc2c.c (translate): Pass LOC to alloc_location, not INPUT. - - * loc2c-test.c (fail): Print a newline after the error message. - -2005-10-10 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (match_node::bind): Improve error message. - (register_library_aliases): Catch and verbosify error message. - (semantic_pass): Provide a back-up exception catcher. - -2005-10-10 Frank Ch. Eigler <fche@elastic.org> - - PR 1456. - * translate.cxx (c_unparser_assignment): Rename "pre" field to "post", - add blurb to clarify polarity. - (visit_pre/post_crement): Flip passed flag value. - -2005-10-07 Frank Ch. Eigler <fche@elastic.org> - - PR 1366. - * staptree.h (foreach_loop): Add sort_column, sort_direction fields. - * parse.cxx (parse_foreach_loop): Parse "+"/"-" suffix operators. - * stap.1.in, stapex.5.in: Document them. - * staptree.cxx (foreach_loop print, copy): Propagate them. - * translate.cxx (visit_foreach_loop): Support them. - * testsuite/parseok/fifteen.stp, parseko/thirteen.stp, - buildok/twentyone.stp: Test them. - -2005-10-07 Kevin Stafford <kevinrs@us.ibm.com> - - * tapset/system_calls.stp: All 281 syscalls *prototyped*. They - are still untested. Many of the aliases useability are contin- - gent upon resolution of namely: bz #1295 & bz #1382. - -2005-10-06 Frank Ch. Eigler <fche@elastic.org> - - * stap.1.in: Document -b/-s options. - * main.cxx (usage): Clarify -b/-s blurbs. - * translator.cxx (translate_pass): Handle bulk_mode here instead. - -2005-10-06 Frank Ch. Eigler <fche@elastic.org> - - PR 1332. - * translate.cxx (emit_symbol_data): New function to transcribe - a processed address->symbol lookup table, based upon /proc/kallsyms. - -2005-10-05 Tom Zanussi <zanussi@us.ibm.com> - - * buildrun.cxx (run_pass): Add bulk/buffer_size flags to flags - passed to stpd. - * elaborate.h (systemtap_session): Add bulk/buffer_size flags. - * main.cxx (usage,main): Add -b (bulk), -s (buffer_size) options. - processing. - -2005-10-04 Graydon Hoare <graydon@redhat.com> - - PR 1131. - * tapsets.cxx - (target_variable_flavour_calculating_visitor::visit_target_symbol) - (var_expanding_copy_visitor::visit_target_symbol): - Require guru mode for writing to target vars. - * testsuite/buildok/twenty.stp: Test writing to target vars. - -2005-10-01 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (get_module_dwarf): Add "required" parameter, which - throws an exception if debuginfo is not found. - (focus_on_module_containing_global_address): Tolerate miss. - (query_kernel_exists): New function to test for "kernel" module in - dwfl_getmodules() result set. - (dwarf_builder::build): Call it if appropriate. - -2005-09-30 Graydon Hoare <graydon@redhat.com> - - PR 1131. - * tapsets.cxx (dwflpp::find_variable_and_frame_base) - (dwflpp::translate_components) - (dwflpp::resolve_unqualified_inner_typedie) - (dwflpp::translate_final_fetch_or_store): New functions. - (dwflpp::literal_stmt_for_local): Factor a bit. - (variable_flavour_calculating_visitor::visit_target_symbol): - Don't fault on lvalue, just collect an extra char. - (var_expanding_copy_visitor::target_symbol_setter_functioncalls): - New member. - (var_expanding_copy_visitor::visit_assignment): New method. - (var_expanding_copy_visitor::visit_target_symbol): Permit lvalues. - -2005-09-30 Frank Ch. Eigler <fche@elastic.org> - - * tapset/system_calls.stp (*_str): Simplified boolean test logic - throughout, fixed some typos. - -2005-09-28 Frank Ch. Eigler <fche@elastic.org> - - PR 1182. - * main.cxx (main): Support -D macro-setting option. - * stap.1.in: Document it and related macros. - * buildrun.cxx (compile_pass): Emit macro definitions. - * translate.cxx (translate_pass): Guard limit macros with #ifdef. - Eliminate MAXCONCURRENCY macro. - * elaborate.h (systemtap_session): Add "macros" field. - * parse.cxx (parse_if_statement): Clear "elseblock" if needed. - -2005-09-27 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_cu_containing_global_address): Tolerate - way out of range addresses that result in null cudie pointers. - -2005-09-27 Frank Ch. Eigler <fche@elastic.org> - - PR 1368. - * translate.cxx (emit_common_header): Move some MAX* definitions out ... - (translate_pass): ... to here. Fix probe_start API impedance mismatch. - (emit_module_init, exit): Tolerate registration errors, such as absence - of kretprobes support. - -2005-09-27 Frank Ch. Eigler <fche@elastic.org> - - PR 1311. - * tapsets.cxx (target_variable_flavour_calculating_visitor:: - visit_target_symbol): Print verbose error. - (var_expanding_copy_visitor::visit_target_symbol): Throw - simple error. - -2005-09-26 Frank Ch. Eigler <fche@elastic.org> - - * stapfuncs.5.in: Extend errno_str verbiage. - * tapset/errno.stp: Canonicalize script code slightly. - -2005-09-26 Frank Ch. Eigler <fche@elastic.org> - - PR 1295. - * tapsets.cxx (resolve_prologue_endings2): Try another heuristic - for end-of-prologue. - -2005-09-22 Graydon Hoare <graydon@redhat.com>, - Frank Ch. Eigler <fche@elastic.org> - - PR 1330. - * tapsets.cxx (dwarf_derived_probe): Allow multiple probe_point - locations per derived_probe. - (dwarf_query): Add probe "flavour" concept, to reuse probe bodies for - identical flavours across wildcards. - (dwarf::emit_registrations, emit_deregistrations, emit_probe_entries): - Reorganize. - * staptree (probe::printsig): Put multiple locations on separate lines. - -2005-09-22 Will Cohen <wcohen@redhat.com> - - * stap.1.in: Correct sys_read alias example. - -2005-09-19 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (*::emit_probe_entries): Handle busy-count correctly - upon contention. - -2005-09-14 Graydon Hoare <graydon@redhat.com> - - PR 1260 - * tapsets.cxx (dwflpp::resolve_prologue_endings): Correct logic - error triggered by consecutive function-beginning line records. - -2005-09-14 Frank Ch. Eigler <fche@elastic.org> - - PR 1344 - * translate.cxx: Call _stp_map_clear for "delete ARRAY" statement. - -2005-09-14 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in: Version 0.4.1 cooked. - Build runpath into elfutils libs too. - -2005-09-14 Frank Ch. Eigler <fche@elastic.org> - - PR 1257 - * Makefile.am (AM_CFLAGS): Add -fexceptions. - * loc2c.c (c_translate_location): Invoke *fail properly. - * Makefile.in: Regenerated. - -2005-09-13 Graydon Hoare <graydon@redhat.com> - - PR 1260 - * tapsets.cxx (func_info::func_info): Initialize fields. - (inline_instance_info::inline_instance_info): Likewise. - (query_inline_instance_info): Add try-catch block. - (query_func_info): Likewise, and fault when missing prologue-end. - (query_dwarf_func): Fault when missing entrypc. - -2005-09-12 Frank Ch. Eigler <fche@elastic.org> - - PR 1335 - * translate.cxx (c_tmpcounter::visit_functioncall): Correct - recursion sequence. - * testsuite/buildok/nineteen.stp: New test case. - -2005-09-12 Graydon Hoare <graydon@redhat.com> - - PR 1306 - * tapsets.cxx (dwflpp::iterate_over_srcfile_lines): Fix two - off-by-one errors in previous change. - -2005-09-12 Graydon Hoare <graydon@redhat.com> - - PR 1306 - * tapsets.cxx (dwflpp::has_single_line_record): New function. - (dwflpp::iterate_over_srcfile_lines): Throw when user requests - single statement line with multiple records (and provide advice). - (query_cu): Adjust call to match. - (query_srcfile_line): Fix indentation. - -2005-09-10 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am, runtest.sh: Use a "testresuilt/" directory in build - tree rather than overloading "testsuite/". - * TODO: Removed obsoleted file. - * Makefile.in: Regenerated. - -2005-09-07 Martin Hunt <hunt@redhat.com> - - * stap.1.in: Document current "-c" and "-x" options. - -2005-09-07 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Remove kernel-debuginfo dependency. - -2005-09-07 Frank Ch. Eigler <fche@redhat.com> - - * main.cxx (main): Choose getpid()-based module names. - * tapsets.cxx: Make timer.jiffies' use of task_pt_regs __i386__-only. - -2005-09-07 Frank Ch. Eigler <fche@redhat.com> - - * stap.1.in: Oops, && and || do short-circuit. - -2005-09-06 Frank Ch. Eigler <fche@elastic.org> - - * stap.1.in: Clarify absence of short-circuiting in && and ||. - * translate.cxx (emit_function): Improve "array locals" message. - * tapset/timestamp.stp: Add gettimeofday_us function. Correct - arithmetic typing in other functions. - * stapfuncs.5.in: Document new function. - -2005-09-06 Martin Hunt <hunt@redhat.com> - - * systemtap.spec.in: Bump elfutils_version to .115. - -2005-09-05 Roland McGrath <roland@redhat.com> - - * loc2c.h: Comment fix. - -2005-09-06 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Require elfutils 0.115+. - * tapsets.cxx: Restore graydon's PR 1244 code. - * testsuite/buildok/eighteen.stp: Correct typing. - * configure: Regenerated. - -2005-09-06 Martin Hunt <hunt@redhat.com> - - * tapset/context.stp: Add function target(). - * stapfuncs.5.in (target): Document it. - * elaborate.h (struct systemtap_session): Add cmd and target_pid to - the struct. - * main.cxx (usage): Add descriptions of "-c" and "-x" options. - (main): Set s.cmd and s.target_pid. - * buildrun.cxx (stringify): Copy this utility func here too. - (run_pass): Add new options to set cmd and pid to the stpd - command line. - -2005-09-06 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (emit_probe_entries): Disable fault_handler for now. - -2005-09-05 Frank Ch. Eigler <fche@elastic.org> - - PR 1289 - * translate.cxx (lex_cast_qstring): Correct "cast" of object - to string containing more than one word. - * tapset.cxx (lex_cast_qstring): Ditto. - (dwarf_derived_module::emit_probe_entries): Emit and use - a generic fault_handler. - -2005-09-05 Frank Ch. Eigler <fche@elastic.org> - - PR 1172. - * staptree.h, staptree.cxx: Make all ::print*(), operator<< - functions take const staptree objects. - (literal_string::print): \-prefix double-quotes. - * translate.cxx (emit_common_header): Add context probe_point field. - Switch to atomic_t busy flags. - (emit_module_exit): Use atomic operations for busy flag. - (visit_*): Use lex_cast_qstring for last_stmt strings. - * tapsets.cxx (lex_cast_qstring): New function. - (*::emit_probe_entries): Populate probe_point. Use atomic operations - for busy flag. - * tapset/context.stp (pp): New function. - * stapfuncs.5.in: Document it. - * testsuite/buildok/context_test.stp: Test it. - -2005-09-04 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (visit_literal_string): \-prefix double-quotes. - -2005-09-04 Martin Hunt <hunt@redhat.com> - - * testsuite/buildok/context_test.stp: New test. - * tapset/logging.stp (log): Call _stp_printf(). - * stapfuncs.5.in: Add contextinfo funcs. - * tapset/context.stp: Minor cleanup. - -2005-09-03 Frank Ch. Eigler <fche@elastic.org> - - PR 1187 prime - * tapset.cxx (literal_stmt_for_local): Don't automgaically copy - target char*'s to systemtap strings. - * tapset/conversions.stp (user_string, kernel_string): New functions. - * stapfuncs.5.in: Document new functions. - -2005-09-03 Frank Ch. Eigler <fche@elastic.org> - - PR 1292, by popular request. - * parse.cxx (parse_functiondecl): Allow optional value/param type - declarations. - * stap.1.in: Document this. - * tapset/*.stp: Convert most functions accordingly. - * testsuite/parseok/twelve.stp, semok/seven.stp, - semko/twenty.stp: Test this. - -2005-09-02 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (varlock): Use trylock only for write locks. - (translate_pass): Remove read_trylock macro hack. - (visit_foreach_loop): Remove protective read lock, until PR 1275. - (visit_*): Added many more "last_stmt"-setting expressions in the - output, to improve last_error message locality. - -2005-09-02 Martin Hunt <hunt@redhat.com> - - * tapset/logging.stp: Make log() be same as print(). - -2005-09-02 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx: Temporarily rolled back graydon's changes. - -2005-09-02 Frank Ch. Eigler <fche@elastic.org> - - * tapset/*.stp: Renamed several files to simplify names. - -2005-09-01 Graydon Hoare <graydon@redhat.com> - - PR systemtap/1244 - * testsuite/buildok/eighteen.stp: New test. - * tapsets.cxx (dwflpp::literal_stmt_for_local) - (query_statement, query_inline_instance_info) - (query_func_info, query_srcfile_line, query_cu) - (var_expanding_copy_visitor, visit_target_symbol) - (dwarf_derived_probe): Fix 1244. - -2005-09-01 Martin Hunt <hunt@redhat.com> - - * tapset/builtin_logging.stp: Add print. - - * tapset/context.stp: New file. First cut at some - context info. - -2005-09-01 Martin Hunt <hunt@redhat.com> - - * translate.cxx (emit_probe): Add a call to _stp_print_flush - at the end of each probe. - (translate_pass): Define STP_NUM_STRINGS to be 1 for - a scratch string. Include current.c and stack.c. Don't - define KALLSYMS_LOOKUP_NAME or KALLSYMS_LOOKUP. Remove - references to next_fmt() and stp_dbug(). - -2005-08-31 Graydon Hoare <graydon@redhat.com> - - PR systemtap/1258 - * tapsets.cxx (dwflpp::literal_stmt_for_local): - Support DW_TAG_enumeration_type tag as synonymous with - DW_TAG_base_type. - * loc2c.c (base_byte_size): Likewise. - * testsuite/buildok/seven.stp: Adjust to work on UP kernels. - -2005-08-31 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx (dwflpp::iterate_over_srcfile_lines): Correct segv - reported in PR 1270. - -2005-08-31 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (visit_array_in, visit_arrayindex): Use write locks - even for array reads, until PR 1275. - (translate_pass): Add read_trylock -> write_trylock escalation. - -2005-08-30 Roland McGrath <roland@redhat.com> - - * Makefile.am (install-data-local): Use mkdir -p, not -mkdir. - * Makefile.in: Regenerated. - -2005-08-30 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx (dwflpp::literal_stmt_for_local): Handle dwarf - pointer-to-1-byte-means-char case (found in PR 1187) - * parse.cxx (parse_symbol): Eliminate use of "." from target - symbol parser, conflicting with string concatenation operator. - * staptree.h (target_symbol::component_type) Eliminate - comp_struct_pointer_member, since . and -> are considered the - same now. - * staptree.cxx (target_symbol::print): Likewise. - * testsuite/buildok/seventeen.stp: Test solution on PR 1191. - * testsuite/buildok/six.stp: Test working portion of PR 1155. - * testsuite/semko/nineteen.stp: Unresolved portion of PR 1155. - -2005-08-30 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1268 - * translator (varlock): Add deadlock detection code. - (emit_common_header): Add a new MAXTRYLOCK configuration macro. - -2005-08-29 Graydon Hoare <graydon@redhat.com> - - PR translator/1265 - * tapsets.cxx - (func_info::decl_file) - (func_info::decl_line) - (inline_instance_info::decl_file) - (inline_instance_info::decl_line): New fields. - (dwflpp::function_srcfile): Remove. - (dwflpp::function_file): Add. - (dwflpp::function_line): Add. - (dwarf_derived_probe::dwarf_derived_probe): Update. - (query_statement): Pass func, file, line through. - (query_inline_instance_info): Likewise. - (query_func_info): Likewise. - (query_srcfile_line): Query statement lines if - statement_str exists, rather than *_info. - (query_dwarf_inline_instance): Extract file and line. - (query_dwarf_func): Likewise. - (query_cu): Pass empty func, file, line, for address-based - queries. - -2005-08-29 Frank Ch. Eigler <fche@redhat.com> - - * runtest.sh: Tolerate relative $SRCDIR. - -2005-08-29 Frank Ch. Eigler <fche@redhat.com> - - * stapprobes.5.in, stapfuncs.5.in, stapex.5.in: New man pages. - * stap.1.in: Moved some content out. - * Makefile.am (man_MANS): Add new man pages. - * configure.ac (AC_CONFIG_FILES): Add them. - * systemtap.spec.in: Package them. - * Makefile.in, configure: Regenerated. - * buildrun.cxx (run_pass): Pass "-r" to stpd. - * translate.cxx (emit_common_header): Wrap try/catch around - variable decls, to improve exception particularity. - (visit_literal_number): Emit as unsigned literal, which is - actually a subtle correctness issue. - -2005-08-28 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (visit_target): Make target variable exceptions - more informative. - (literal_stmt_for_local): Improve bad-type exception message. - * translate.cxx (emit_module_init): Include probe point in comments. - -2005-08-27 Roland McGrath <roland@redhat.com> - - * loc2c-test.c (print_type): New function. - (print_vars): Use it. - - * loc2c-test.c (paddr, print_vars): New functions. - (main): If given no variable name argument, print out variables. - -2005-08-26 Graydon Hoare <graydon@redhat.com> - - * translate.cxx: Revert tmp initialization changes. - -2005-08-26 Graydon Hoare <graydon@redhat.com> - - * parse.cxx (scan): Preserve basic C-ish escapes. - * translate.cxx (c_tmpcounter::declaring): New flag. - (c_tmpcounter::declare_or_init): New helper method. - (c_tmpcounter::visit_*): Use declare_or_init. - (c_unparser::emit_function): Run a tmpcounter to initialize tmps. - (c_unparser::emit_probe): Likewise. - (c_unparser::c_strcpy): Use strlcpy. - (c_unparser::c_strcat): Use strlcat. - -2005-08-25 Roland McGrath <roland@redhat.com> - - * Makefile.am (EXTRA_DIST): List .h files explicitly. - Automake really does not like wildcards. - * Makefile.in: Regenerated. - -2005-08-25 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am (docs): Removed target. - * Makefile.in: Regenerated. - -2005-08-24 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx (dwflpp::literal_stmt_for_local): Fetch pointer types, - array types, strings, from target. - -2005-08-24 Roland McGrath <roland@redhat.com> - - * loc2c-test.c (handle_variable): Iterate on const_type/volatile_type. - -2005-08-24 Frank Ch. Eigler <fche@elastic.org> - - * configure.ac: Require elfutils 0.114. - * tapsets.cxx: Brought back graydon's changes. - * configure: Regenerated. - -2005-08-24 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in: Update elfutils requirement. - -2005-08-24 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_global, emit_module_init): Use 2.6.9-compatible - rwlock initialization. - -2005-08-24 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (*::emit_probe_entries): Treat NULL and "" last_errors - both as clean early returns, not errors. - * translate.cxx: Revamp last_error handling logic. Remove all - "goto out" paths from expression context. - (visit_statement): Handle last_error exit one nesting level at a time. - (visit_return_statement, visit_functioncall): Set/reset last_error="". - (c_tmpcounter::visit_for_loop): New routine. - (c_unparser::visit_foreach, visit_for_loop): Rewrite to properly - support continue/breaks, non-local exits, (foreach) locks. - (emit_global): Emit lock variable. - (varlock ctor, dtor): Lock/unlock global variable. - (varlock_w, varlock_r): New concrete subclasses. Update all users. - * tapset/builtin_logging.stp (exit): Don't set last_error. - * src/testsuite/buildok/sixteen.stp: New test. - - * tapsets.cxx: Temporarily rolled back graydon's changes. - -2005-08-23 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx: Re-implement dwarf probe-pattern resolution. - -2005-08-22 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1134 - * elaborate.h (module_fds): New member in systemtap_session. - * tapsets.cxx (dwarf_derived_probe ctor): Open /sys/module/$MOD/.text - for the duration of a systemtap session, to lock module in memory. - -2005-08-21 Frank Ch. Eigler <fche@redhat.com> - - PR systemtap/1195, systemtap/1193 - * elaborate.cxx (alias_expansion_builder): Set new block token. - * parse.cxx (parse_symbol): Set new target_symbol token. - * runtest.sh: Store more pertinent failure data. - * tapsets.cxx (emit_probe_entries): Rewrite error-handling path. - * translate.cxx (emit_common_header): Goodbye errorcount, hello - last_error & last_stmt. - (c_unparser::visit_statement): New "header" for all other stmts. - (c_assignop, visit_binary_expression): Adapt to last_error. - * tapset/builtin_logging.stp: Adapt to last_error. - -2005-08-19 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1213 - * translate.cxx (visit_if_statement): Translate else arms. - -2005-08-19 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1209 - * elaborate.cxx (derived_probe_builder): Add get_param function. - * elaborate.h: Declare them. - * tapsets.cxx (dwarf_query::get_*_param): Call them. - (timer_derived_probe, timer_builder): New classes. - (register_standard_tapsets): Register timer.jiffies(N) and friend. - * translate.cxx (translate_pass): #include <linux/timers.h>. - * stap.1.in: Document timer.jiffies(N) probe points. - * testsuite/buildok/fourteen.stp: New test. - -2005-08-19 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (find_var): Remove $pid/$tid builtin logic. - -2005-08-19 Martin Hunt <hunt@redhat.com> - - * stp_check.in: Remove stp-control. - -2005-08-18 Roland McGrath <roland@redhat.com> - - * loc2c.c (c_translate_addressof): Take TYPEDIE instead of TYPEATTR. - * loc2c.h: Update decl. - * loc2c-test.c (handle_variable): Handle DW_TAG_pointer_type target - for fetch. - -2005-08-18 Will Cohen <wcohen@redhat.com> - - * stp_check.in: See if relayfs available filesystem. - -2005-08-18 Roland McGrath <roland@redhat.com> - - * loc2c.c (struct location): New member `emit_address'. - (alloc_location): Initialize new member from ORIGIN. - (location_from_address): New argument EMIT_ADDRESS. - Initialize new member. - (translate): Use LOC->emit_address hook to format DW_OP_addr constant. - (location_relative): Die if DW_OP_addr is used. - (default_emit_address): New function. - (c_translate_location): New argument EMIT_ADDRESS, pass it down. - Use default_emit_address if argument is null. - * loc2c.h: Update decl. - * loc2c-test.c (handle_variable): Update caller. - * tapsets.cxx (dwflpp::literal_stmt_for_local): Update caller. - (dwflpp::loc2c_emit_address): New static method. - -2005-08-17 Roland McGrath <roland@redhat.com> - - PR systemtap/1197 - * loc2c.c (struct location): New members `fail', `fail_arg'. - (alloc_location): New function. Initialize those members. - (new_synthetic_loc, translate): Use that instead of obstack_alloc. - (location_from_address, location_relative): Likewise. - (FAIL): New macro. Use it everywhere in place of `error'. - (c_translate_location): Take new args FAIL, FAIL_ARG. - * loc2c.h: Update declaration. - * loc2c-test.c (fail): New function. - (handle_variable): Pass it to c_translate_location. - * tapsets.cxx (dwflpp::loc2c_error): New static method. - (dwflpp::literal_stmt_for_local): Pass it to to c_translate_location. - - PR systemtap/1205, systemtap/1206 - * loc2c.c (c_translate_fetch): Take TYPEDIE instead of TYPEATTR. - (c_translate_store): Likewise. - * loc2c.h: Update decls. - * loc2c-test.c (handle_variable): Update callers. - Look up type, resolve typedefs, and check that it's DW_TAG_base_type. - * tapsets.cxx (dwflpp::literal_stmt_for_local): Likewise. - - * loc2c.c (base_byte_size): Add assert on expected DIE tag. - (c_translate_array, c_translate_pointer): Likewise. - * loc2c.h: Amend comments to explicitly state type DIE tags expected. - - * loc2c.c: #include "loc2c.h". - -2005-08-16 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1180 - * tapsets.cxx (*): Add more verbose-predicatation to informative - messages. Correct more hex/dec ostream mismatches. - (query_function): Use entry/querypc, not prologue-end, for - function().return and .statement() probe points. - (dwarf_derived_probe ctor): Reorganize function/statement - probe point regeneration. - -2005-08-16 Frank Ch. Eigler <fche@elastic.org> - - * main.cxx: Don't print library parse trees if last_pass=1. - -2005-08-14 Roland McGrath <roland@redhat.com> - - * systemtap.spec.in: Update elfutils_version requirement to 0.113; - restore bundled_elfutils setting to 1. - -2005-08-12 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (c_tmpcounter::visit_array_in): Implement. - (c_unparser::visit_array_in): Likewise. - (mapvar::exists): New method. - -2005-08-12 Frank Ch. Eigler <fche@elastic.org> - - PR systemtap/1122 et alii - * parse.cxx (parse_literal): Parse and range-limit 64-bit numbers. - (parse_unary): Correct precedence glitch. - * staptree.h (literal_number): Store an int64_t. - * staptree.cxx: Corresponding changes. - * translate.cxx (check_dbz): Remove - insufficient. - (emit_function): Define CONTEXT macro sibling for THIS. - (c_typename): pe_long -> int64_t. - (visit_literal_number): Format literal rigorously and uglily. - (c_assignop, visit_binary_expression): Handle div/mod via new - helper functions in runtime. - * tapset/builtin_logging.stp: Add error, exit builtins. - * testsuite/buildok/ten,eleven.stp: New tests. - * testsuite/parse{ko,ok}/six.stp: Modify for larger numbers. - * testsuite/transok/one.stp: Add more ";"s, maybe unnecessarily. - -2005-08-11 Frank Ch. Eigler <fche@elastic.org> - - * systemtap.spec.in: Tweak to turn into fedora-flavoured spec. - Don't build/install runtime docs. - -2005-08-11 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (uninstall-local): New target. - * Makefile.in: Regenerate. - -2005-08-11 Frank Ch. Eigler <fche@elastic.org> - - * translate.cxx (emit_function): Add an extra { } around the - function body visitation. - * tapset/timestamp_functions.stp: New file. - * tapset/builtin_conversions.stp: Aggregated from [hex]string. - * tapset/builtin_logging.stp: Aggregated from log/warn/printk. - -2005-08-11 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx: Tweak hex/decimal printing for consistency. - (emit_registrations): Remove module-specific code, anticipating - that libelf gives us run-time addresses already. - -2005-08-10 Roland McGrath <roland@redhat.com> - - * loc2c.c (emit_base_store): New function. - (emit_bitfield): Rewritten to handle stores, change parameters. - (c_translate_fetch): Update caller. - (c_translate_store): New function. - * loc2c.h: Declare it. - * loc2c-test.c (handle_variable): Grok "=" last argument to do a store. - - * loc2c.c (c_translate_location): Increment INDENT. - (c_translate_pointer): Likewise. - (emit_loc_value): Increment INDENT after emit_header. - -2005-08-10 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx (dwflpp::literal_stmt_for_local): Copy code from - loc2c-test to implement target member variable access. - -2005-08-10 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx - (dwflpp::global_addr_of_line_in_cu): Implement next-line heuristic. - (dwarf_query::get_number_param): Dwarf_Addr variant. - (query_cu): Add line-selecting variant for function iteration. - -2005-08-10 Frank Ch. Eigler <fche@elastic.org> - - PR translator/1186 - * elaborate.cxx (resolve_2types): Accept a flag to tolerate unresolved - expression types. - (visit_functioncall): Call it thusly. - * translate.cxx (emit_function): Tolerate void functions. - * stap.1.in: Document possibility of void functions. - * tapset/builtin_{log,printk,warn}.stp: Make these void functions. - * testsuite/buildok/nine.stp, semok/eighteen.stp: New tests. - -2005-08-10 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx: Correct hex/decimal misformatting of verbose messages. - * main.cxx: Add formal "-h" and "-V" options. - * stap.1.in: Document them. - -2005-08-10 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx: Move around "focusing on ..." messages to print - them only for matching functions/modules. - (dwflpp ctor): Also add cu (source file) name to derived - probe point. - -2005-08-09 Graydon Hoare <graydon@redhat.com> - - * testsuite/parseok/nine.stp: Update - * testsuite/semok/{six,seven,eleven,seventeen}.stp: Update. - -2005-08-09 Graydon Hoare <graydon@redhat.com> - - * staptree.{cxx,h} - (target_symbol): New struct. - (*_visitor::visit_target_symbol): Support it. - (visitor::active_lvalues) - (visitor::is_active_lvalue) - (visitor::push_active_lvalue) - (visitor::pop_active_lvalue): Support lvalue-detection. - (delete_statement::visit) - (pre_crement::visit) - (post_crement::visit) - (assignment::visit): Push and pop lvalue expressions. - * elaborate.{cxx,h} - (lvalule_aware_traversing_visitor): Remove class. - (no_map_mutation_during_iteration_check) - (mutated_map_collector): Update lvalue logic. - (typeresolution_info::visit_target_symbol): Add, throw error. - * parse.{cxx,h} - (tt2str) - (tok_is) - (parser::expect_*) - (parser::peek_*): New helpers. - (parser::parse_symbol): Rewrite, support target_symbols. - * translate.cxx (c_unparser::visit_target_symbol): Implement. - * tapsets.cxx (var_expanding_copy_visitor): Update lvalue logic, - change visit_symbol to visit_target_symbol. - -2005-08-09 Martin Hunt <hunt@redhat.com> - - PR 1174 - * stp_check.in: Supply path for lsmod. - * stp_check: Removed. - -2005-08-09 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx: - (delete_statement_symresolution_info): New struct. - (symresolution_info::visit_delete_statement): Use it. - (delete_statement_typeresolution_info): New struct. - (typeresolution_info::visit_delete_statement): Use it. - (symresolution_info::find_var): Accept -1 as 'unknown' arity. - * elaborate.h: Update to reflect changes in .cxx. - * translate.cxx (mapvar::del): New method. - (c_unparser::getmap): Check arity >= 1; - (delete_statement_operand_visitor): New struct. - (c_unparser::visit_delete_statement): Use it. - * staptree.cxx (vardecl::set_arity): Accept and ignore -1. - (vardecl::compatible_arity): Likewise. - * testsuite/buildok/eight.stp: New test for 'delete' operator. - -2005-08-08 Roland McGrath <roland@redhat.com> - - * loc2c-test.c: New file. - * Makefile.am (noinst_PROGRAMS): Add loc2c-test. - (loc2c_test_SOURCES, loc2c_test_LDADD): New variables. - * Makefile.in, aclocal.m4: Regenerated. - -2005-08-08 Frank Ch. Eigler <fche@elastic.org> - - * stap.1.in: Autoconfify old man page. - * configure.ac: Make it so. - * stap.1: Removed. - * configure, Makefile.in, aclocal.m4: Regenerated. - -2005-08-05 Frank Ch. Eigler <fche@elastic.org> - - * runtest.sh: Keep around log files from crashed processes, - those whose rc is neither 0 nor 1. - -2005-08-05 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (query_statement|function|cu|module): Add explicit - nested try/catch, since elfutils iteration seems to block - exception catching. - -2005-08-05 Frank Ch. Eigler <fche@elastic.org> - - PR translator/1175 - * translate.cxx (*): Added unlikely() markers to most emitted error - checks. - (mapvar::get,set): Handle NULL<->"" impedance mismatch. - (itervar::get_key): Ditto. Use base index=1 for keys. - * testsuite/buildok/one.stp: Extend. And it runs with -p5 too. - * stap.1: Document use of ";" statament as mechanism for grammar - ambiguity resolution. - * stp_check.in: Set $prefix. - * systemtap.spec.in: Prereq kernel-devel, kernel-debuginfo, - and not tcl. - * tapsets.cxx: Make slightly less verbose. - -2005-08-03 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx (dwflpp): Fix address calculation logic a bit, - and use prologue-end addresses for function probes. - -2005-08-03 Frank Ch. Eigler <fche@redhat.com> - - * stap.1: More meat, all stub sections filled. - * elaborate.cxx (visit_assignment): Add numerous missing cases. - * parse.cxx: Parse ".=" operator. - * testsuite/semok/sixteen.stp: Check them. - * main.cxx (usage): Don't show incompletely supported options. - -2005-08-03 Martin Hunt <hunt@redhat.com> - - * stp_check.in : Copy sources to /var/cache/systemtap. - * systemtap.spec.in: Install stp_check. - * Makefile.am (install-exec-local): Install stp_check. - -2005-08-03 Martin Hunt <hunt@redhat.com> - - * configure.ac: Add stp_check to AC_CONFIG_FILES. - * stp_check.in : New file. - -2005-08-03 Frank Ch. Eigler <fche@elastic.org> - - * README: Be more specific about prerequisites. - * tapset/builtin_string.stp: New builtin. - * testsuite/buildok/seven.stp, semko/eighteen.stp: New tests. - -2005-08-03 Roland McGrath <roland@redhat.com> - - * configure.ac, systemtap.spec.in: Version 0.2.1. - * Makefile.in, aclocal.m4, configure: Regenerated. - -2005-08-02 Roland McGrath <roland@redhat.com> - - * loc2c.c (emit_bitfield): Return bool, value from emit_base_fetch. - (c_translate_fetch): Update caller. - (c_translate_pointer): Never ignore emit_base_fetch return value. - - * systemtap.spec.in (%install): Remove parameters after %makeinstall. - -2005-08-02 Frank Ch. Eigler <fche@elastic.org> - - * loc2.c (emit_loc_address): Emit interleaved declaration into - its own nested { } block. - * tapsets.cxx (literal_stmt_for_local): Emit deref_fault block - unconditionally. - * tapset/builtin_hexstring.stp: New builtin. - * testsuite/buildok/six.stp: New test. - -2005-08-02 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx (emit_registrations): Treat module_name="kernel" - as if module_name="". - -2005-08-01 Graydon Hoare <graydon@redhat.com> - - * staptree.{cxx,h} (probe_point::component): Add a ctor. - * tapsets.cxx (dwarf_derived_probe): Synthesize concrete - probe_point for matched pattern. - (dwarf_probe_type) - (dwarf_query::add_kernel_probe) - (dwarf_query::add_module_probe): Remove, they were noise. - (dwflpp::module_name_matches): Don't call get_module_dwarf(). - -2005-08-01 Frank Ch. Eigler <fche@elastic.org> - - * tapsets.cxx: Support ".return" option for function probe points. - * testuite/buildok/five.stp: Try it. - -2005-08-01 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (derive_probes, semantic_pass_symbols): Improve - error message specificity. - * translate.cxx (emit_module_init): Compact partial registration - recovery code. - (emit_module_exit): Invert deregistration sequence. - * testsuite/buildok/four.stp: Some module() test case. - -2005-08-01 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (derive_probes): Print error if results empty. - * tapsets.cxx (dwflpp_assert): Handle positive RCs, which likely - came from errno. - (dwflpp::setup): Improve missing debug-info messages. - * testsuite/semko/sixteen,seventeen.stp: New tests. - * runtest.sh: Save stdout/stderr of FAIL/XPASS test cases. - * Makefile.am (clean-local): Clean up testsuite/. - * Makefile.in, aclocal.m4: Regenerated. - -2005-07-29 Frank Ch. Eigler <fche@redhat.com> - - From Graydon Hoare <graydon@redhat.com: - * tapsets.cxx (var_expanding_copy_visitor): Correct lvalue cases. - -2005-07-29 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am: Make sure stpd goes into libexec/systemtap/ - * Makefile.in: Regenerated. - -2005-07-29 Frank Ch. Eigler <fche@redhat.com> - - * configure.ac: Fail configure stage if elfutils 0.111+ is not found. - * Makefile.am, elaborate.cxx, tapsets.cxx: Unconditionalize. - * configure, Makefile.in, config.in: Regenerated. - -2005-07-29 Roland McGrath <roland@redhat.com> - - * Version 0.2 distribution. - - * systemtap.spec.in: Include %{_datadir}/systemtap/tapset directory. - (%check): Add section, run make check. - * Makefile.am (EXTRA_DIST): Add runtest.sh. - * Makefile.in: Regenerated. - - * systemtap.spec.in: Include man pages. - * Makefile.am (man_MANS): Renamed to dist_man_MANS. - - * configure.ac: Add AM_CONDITIONAL definition of HAVE_LIBDW. - * Makefile.am [HAVE_LIBDW] (stap_SOURCES_libdw): New variable. - (stap_SOURCES): Use it, moving loc2c.c there. - * configure, config.in: Regenerated. - - * tapsets.cxx: <libdw.h> -> <elfutils/libdw.h> - * loc2c.c, loc2c.h: Likewise. - - * main.cxx (main): Check return value of system. - - * systemtap.spec.in (LDFLAGS): Punt using $ORIGIN here, just hard-code - %{_libdir}. - (elfutils_version): Bump to 0.111. - [bundled_elfutils]: Don't massage libdwfl.h header any more. - - * configure.ac: Don't check for libelf.h, not actually #include'd. - Update -ldw check for merged libdwfl+libdw. - (stap_LIBS): New substituted variable. Set only this, not LIBS, - with -ldw check. - * Makefile.am (stap_LDADD): New variable, use @stap_LIBS@. - - * Makefile.am (AM_CPPFLAGS): Use ${pkgdatadir}. - (AM_CFLAGS): Use -W instead of -Wextra, for gcc 3 compatibility. - (stpd_LDFLAGS): Variable removed. - (AM_MAKEFLAGS): Variable removed. - -2005-07-28 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (find_var): Correct array dereferencing thinko. - -2005-07-28 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx (derived_probe::derived_probe): Accept NULL probe. - * staptree.cxx (provide, require): Move from here... - * staptree.h: to here, and virtualize deep-copy methods. - * translate.cxx - (c_unparser::emit_common_header): Include loc2c-runtime.h - * tapsets.cxx - (dwflpp::iterate_over_modules): Use new, faster getmodules loop. - (dwflpp::literal_stmt_for_local): New method, call loc2c. - (var_expanding_copy_visitor): New struct which expands $-vars. - (dwarf_derived_probe): Rebuild this->body using var expander. - (query_function): Refactor logic a bit for speed. - * loc2c.{c,h}: Copies (with minor changes) of Roland's work - from elfutils CVS. - * Makefile.am (AM_CFLAGS): Set to elfutils-style. - (stap_SOURCES): Add loc2c.c. - * Makefile.in: Regenerate. - -2005-07-28 Frank Ch. Eigler <fche@redhat.com> - - * stap.1: Beginnings of a man page. - * Makefile.am: Install it. Comment out stpd LDADD goodies. - * configure.ac: Futilely complain about non-stpd LIBS. - * Makefile.in, configure.in: Regenerated. - * main.cxx (usage): Remove ARGS from help text, as nothing is - done with these yet. - -2005-07-28 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx: Add "pt_regs*" field to context. - * tapsets.cxx (*): Correct kprobes API interface. - * testsuite/buildok/three.stp: New test, copied from semok. - * Makefile.am (install-data-local): Also install runtime/relayfs, - so scripts can build against headers located thereunder. - * Makefile.in: Regenerated. - -2005-07-28 Frank Ch. Eigler <fche@redhat.com> - - translator/1120 - * main.cxx (main): Preset -R and -I options from environment - variables (if set). Pass guru mode flags to parser. - * parse.cxx (privileged): New parser operation flag. Update callers. - (parse_embeddedcode): Throw an error if !privileged. - (parse_functiondecl): Change signature. Prevent duplicates. - (parse_globals): Ditto. - * parse.h: Corresponding changes. - * tapset/*.stp: Beginnings of real tapset library, to replace - previous builtins. - * tapsets.cxx: Greatly reduce verbose mode output. - * Makefile.am: Install & dist it. - * runtest.sh: Refer to it. - * Makefile.in, aclocal.m4: Regenerated. - * testsuite/*/*.stp: Set guru mode via /bin/sh if needed. - * testusite/*/*ko.stp: Homogenize shell scripts. - -2005-07-28 Frank Ch. Eigler <fche@redhat.com> - - translator/1120 - translator/1123 - * elaborate.cxx (semantic_pass_symbols): Print a more helpful - error message around exceptions. - * elaborate.h (systemtap_session): Add guru_mode field. - * main.cxx (main): Initialize it to false. Add version-sensitive - script library searching. Add more failure messages. - * tapsets.cxx (dwflpp_assert): Add a decorative text parameter. - Update callers. - -2005-07-28 Martin Hunt <hunt@redhat.com> - - * Makefile.am (install-data-local): Add runtime/transport. - * Makefile.in: regenerated. - -2005-07-26 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx: Revert builtin-function code. - * translate.cxx: Likewise. - * tapsets.{h,cxx}: Likewise. - -2005-07-26 Martin Hunt <hunt@redhat.com> - - * buildrun.cxx (compile_pass): Add -Wno-unused to CFLAGS because - usually a module doesn't use every function in the runtime. - -2005-07-26 Martin Hunt <hunt@redhat.com> - - * Makefile.am (stpd_LDFLAGS): Set rpath correclty because otherwise - automake doesn't seem to get it right when binaries are in libexec - subdirs. - (AM_CPPFLAGS): revert. - * systemtap.spec.in (LDFLAGS): Set libexecdir here instead. - -2005-07-26 Frank Ch. Eigler <fche@redhat.com> - - Support %{ embedded-c %} - * staptree.h (embeddedcode): New statement subtype. Stub support in - visitors. - * staptree.cxx: Ditto. - * parse.cxx: Parse %{ / %}. Accept "_" as identifier leading char. - (parse_probe): Simplify calling convention. - * elaborate.h: Store embedded code. - * elaborate.cxx: Pass it. - * translate.cxx: Transcribe it. Return some dropped module init/exit - code. - * Makefile.am: Add buildok/buildko tests. - * Makefile.in: Regenerated. - * main.cxx: Return EXIT_SUCCESS/FAILURE even for weird rc. - * testsuite/parseok/nine.stp: Test _identifiers. - * testsuite/transko/*.stp: Tweak to force -p3 rather than -p2 errors. - * testsuite/semok/transko.stp: ... and keep it that way in the future. - * testsuite/parse*/*: Some new tests for %{ %}. - * testsuite/build*/*: New tests for -p4. - -2005-07-26 Martin Hunt <hunt@redhat.com> - - * Makefile.am (AM_CPPFLAGS): Set PKGLIBDIR correctly. - -2005-07-26 Martin Hunt <hunt@redhat.com> - - * systemtap.spec.in: Stpd goes in libexec/systemtap. - * Makefile.am (libexecdir): Set to libexecdir/systemtap. - * aclocal.m4, Makefile.in: Regenerated - -2005-07-25 Roland McGrath <roland@redhat.com> - - * configure.ac: Don't define PKGLIBDIR and PKGDATADIR here. - * Makefile.am (AM_CPPFLAGS): New variable, use -D here instead. - (dist-hook): Don't remove ChangeLog files. - (install-data-local): Don't install docs, just runtime stuff. - (rpm, clean-local): Use make variables instead of @substitution@s. - * configure, config.in, aclocal.m4, Makefile.in: Regenerated - -2005-07-22 Graydon Hoare <graydon@redhat.com> - - * translate.cxx (itervar): New class. - (*::visit_foreach_loop): Implement. - Various bug fixes. - * staptree.cxx (deep_copy_visitor::*): Copy tok fields. - * elaborate.cxx (lvalue_aware_traversing_visitor): - (mutated_map_collector): - (no_map_mutation_during_iteration_check): New classes. - (semantic_pass_maps): New function to check map usage. - (semantic_pass): Call it. - * testsuite/transok/eight.stp: Test 'foreach' loop translation. - * testsuite/semko/{thirteen,fourteen,fifteen}.stp: - Test prohibited forms of foreach loops. - -2005-07-21 Martin Hunt <hunt@redhat.com> - - * Makefile.am (EXTRA_DIST): Add systemtap.spec. - (install-data-local): Install docs and probes. - (docs): New target. - (rpm): New target. - - * configure.ac: Set initial version to 0.1.1. - (pkglibdir): Set to libexec. - - * Makefile.in: Regenerated. - -2005-07-20 Graydon Hoare <graydon@redhat.com> - - * elaborate.{cxx,h} (find_array): Remove. - (find_scalar): Rename to find_var, add array support. - * staptree.{cxx,h} (vardecl::compatible_arity): New method. - * translate.cxx: Refactor, add array read/write support. - * testsuite/transok/three.stp: Uncomment array uses. - * testsuite/transok/seven.stp: New test of array r/w. - -2005-07-20 Frank Ch. Eigler <fche@redhat.com> - - * tapsets.cxx (*::emit_[de]registrations): Add logic for probe - lifecycle control (session_state). - * translate.cxx (emit_common_header,emit_module_{init,exit}): Ditto. - (visit_*): Use per-context errorcount. - -2005-07-19 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am (dist-hook): Complete the resulting tarball. - * Makefile.in: Regenerated. - -2005-07-19 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (emit_module_init/exit, translate_pass): Conform - to newer runtime startup/shutdown hooks. - -2005-07-15 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am (install-data-local): Correct typo. - * buildrun.cxx (compile_pass): Ditto. - * main.cxx (main): Print errors if passes 4 or 5 fail. - -2005-07-14 Frank Ch. Eigler <fche@redhat.com> - - * buildrun.cxx (compile_pass, run_pass): Get closer to a working - test_mode. - * translate.cxx (emit_module_init, emit_common_header): Ditto. - (translate_pass): Ditto. - -2005-07-14 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am (stpd): Install in $pkglibdir. - (runtime): Copy to $pkgdatadir. - * configure.ac: Pass along pkgdatadir and pkglibdir. - * main.cxx: Default runtime_path from pkgdatadir. - * buildrun.cxx (run_pass): Correct stpd directory. - * Makefile.in, configure, config.in: Regenerated. - -2005-07-12 Graydon Hoare <graydon@redhat.com> - - * elaborate.cxx - (semantic_pass_symbols): Only enter body if non-null. - (semantic_pass_types): Likewise. - (semantic_pass): Pass session to register_standard_tapsets. - * translate.cxx - (builtin_collector): New struct. - (hookup_builtins): New function. - (translate_pass): Only translate functions with bodies. - (c_unparser::emit_common_header): Likewise, and call hookup_builtins. - * tapsets.hh (builtin_function): New class. - (register_standard_tapsets): Change parameter to session. - * tapsets.cc (bultin_function::*): Implement class. - (register_standard_tapsets): Register printk, log, warn. - * testsuite/transok/six.stp: New test. - -2005-07-12 Frank Ch. Eigler <fche@redhat.com> - - * buildrun.cxx (compile_pass): Make non-verbose mode quieter. - (run_pass): Spawn stpd for dirty work. - * Makefile.am: Also build stpd into libexecdir. - * configure.ac: Pass LIBEXECDIR. - * Makefile.in, configure, config.in: Regenerated. - * AUTHORS: Update. - -2005-07-11 Graydon Hoare <graydon@redhat.com> - - * staptree.cxx (require): Generally handle null pointers in src. - (deep_copy_visitor::visit_if_statement): Revert fche's change. - -2005-07-11 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx (parse_literal): Compile cleanly on 64-bit host. - * staptree.cxx (deep_copy_visitor::visit_if_statement): Don't - freak on a null if_statement.elseblock. - -2005-07-07 Graydon Hoare <graydon@redhat.com> - - * staptree.{h,cxx} (deep_copy_visitor): New visitor. - * elaborate.cxx - (derived_probe::derived_probe): - (alias_expansion_builder::build): Use it. - * testsuite/semok/fifteen.stp: New test which relies on deep copy. - -2005-07-07 Frank Ch. Eigler <fche@redhat.com> - - * Makefile.am (dist): Package up the source tree, including - testsuite and runtime. - * main.cxx: Use clog instead of cerr for logging messages. - * buildrun.cxx: Ditto. - (compile_pass): Add -Iruntime/user for test mode. - * translate.cxx (*): Commonalize test/real mode output. - * Makefile.in: Regenerated. - -2005-07-05 Graydon Hoare <graydon@redhat.com> - - * elaborate.{h,cxx}: Revert previous changes. - * tapsets.{h,cxx}: Adapt to verbose as a member of session. - * elaborate.cxx (alias_expansion_builder::build): Avoid copying - locals between alias definition and use. - * testsuite/semok/{twelve,thirteen,fourteen}.stp: New tests. - * staptree.cxx (probe_alias::printsig): Print equals sign. - -2005-07-05 Frank Ch. Eigler <fche@redhat.com> - - * elaborate.h (systemtap_session): Add more command-line arguments. - * staptree.h (verbose): Bad global, no donut. - * elaborate.cxx: Temporarily disable verbose variable access. - * main.cxx: Support more arguments, build/run passes. Revamp - temporary file generation and partial-pass output generation. - * tapsets.cxx, translate.cxx: Emit just enough extra punctuation - and fluff to make generated probe pass -Werror. - * buildrun.cxx, buildrun.h: New files for passes 4/5. Partial - support for build pass, nothing on probe execution yet. - * testsuite/transok/*.stp: Force just -p3, now that -p4/5 exist. - * Makefile.am, Makefile.in: Corresponding changes. - -2005-07-04 Graydon Hoare <graydon@redhat.com> - - * elaborate.h (symresolution_info::current_derived_probe): New field. - (symresolution_info::current_probe): Change type. - * elaborate.cxx (semantic_pass_symbols): Add passes for resolving - locals in pre-derivation base probes and pre-expansion aliases. - (symresolution_info::visit_symbol): - (symresolution_info::find_scalar): Update to match new field. - -2005-06-27 Graydon Hoare <graydon@redhat.com> - - * staptree.{h,cxx} (probe_alias): New structure. - * parse.{h,cxx} (parser::parse): Parse probes or probe aliases. - (parser::parse_probe): Likewise. - * tapsets.{h,cxx}: - (derived_probe_builder): - (match_key): - (match_node): - (alias_derived_probe): Move from here, - * elaborate.{h,cxx}: to here. - * elaborate.h (systemtap_session::pattern_root): New member. - (register_library_aliases): New function. - * tapsets.cxx: Build one dwarf_derived_probe per target address. - -2005-06-23 Graydon Hoare <graydon@redhat.com> - - * tapsets.cxx - (probe_type): New enum. - (probe_spec): New struct. - (dwarf_derived_probe): Reorganize a bit, interpret .return. - (query_statement): Translate addresses back to module space. - (probe_entry_function_name): - (probe_entry_struct_kprobe_name): - (foreach_dwarf_probe_entry): - (declare_dwarf_kernel_entry): - (deregister_dwarf_kernel_entry): - (register_dwarf_kernel_entry): - (register_dwarf_module): - (declare_dwarf_module_entry): - (deregister_dwarf_module_entry): - (register_dwarf_module_entry): New functions. - (dwarf_derived_probes::emit_probe_entries): - (dwarf_derived_probes::emit_registrations): - (dwarf_derived_probes::emit_deregistrations): Implement. - -2005-06-21 Frank Ch. Eigler <fche@redhat.com> - - * config.in, configure: Regenerated. - * tapsets.cxx: Make dwarf code conditional on new elfutils header. - -2005-06-20 Graydon Hoare <graydon@redhat.com> - - * configure.ac: Scan for libdwfl. - * staptree.h (verbose): New global. - * main.cxx (usage, main): Implement -v option. - * tapsets.cxx (dwflpp): New struct. - (query_statement): New function. - (query_function): New function. - (query_cu): New function. - (query_module): New function. - (dwarf_derived_probe): Implement primary forms. - -2005-06-14 Graydon Hoare <graydon@redhat.com> - - * tapsets.h: New file. - (derived_probe_builder): Callback for making derived probes. - (match_key): Component of pattern-matching tree. - (match_node): Other component of pattern-matching tree. - * tapsets.cxx: Add pattern-matching system for probes. - (alias_derived_probe): Skeleton for alias probes. - (dwarf_derived_probe): Skeleton for dwarf probes. - (register_standard_tapsets): Registry for standard tapsets. - -2005-06-13 Frank Ch. Eigler <fche@redhat.com> - - Start separating out translator-side probe point recognition. - * tapsets.cxx: New file. - (be_derived_probe): Support for begin/end probes. - (derive_probe): Ditto. Reject anything unrecognized. - * translator.cxx: Move out old code. - * Makefile.am: Add new source file. - * testsuite/semok/*: Switch to begin/end probes only. - -2005-06-08 Frank Ch. Eigler <fche@redhat.com> - - systemtap/916 - Implement all basic scalar operators, including modify-assignment. - * parse.cxx (lexer): Allow multi-character lookahead in order to - scan 1/2/3-character operators. - (parse_boolean_or/and/xor/shift): New routines. - * translate.cxx (visit_assignment, visit_binary_expression, - visit_*_crement): Generally rewrote. - (visit_*): Added more parentheses in output. - (emit_module_init): Initialize globals. - * staptree.h, elaborate.cxx, elaborate.h: Remove exponentiation. - * main.cxx (main): Add an end-of-line to output file. - * testsuite/*: Several new tests. - -2005-06-05 Frank Ch. Eigler <fche@elastic.org> - - Implement for/next/continue/break/while statements. - * staptree.h: Declare new 0-arity statement types. Tweak for_loop. - * parse.cxx: Parse them all. - * translate.cxx (c_unparser): Maintain break/continue label stack. - (visit_for_loop, *_statement): New implementations. - * elaborate.*, staptree.cxx: Mechanical changes. - * testsuite/parseok/ten.stp, semko/twelve.stp, transko/two.stp, - transok/five.stp: New tests. - -2005-06-03 Frank Ch. Eigler <fche@elastic.org> - - * elaborate.cxx (find_*): Remove arity checks from here ... - * staptree.cxx (set_arity): Put arity match assertion here. - * testsuite/semko/{six,nine}.stp: Confirm logic. - * testsuite/transko/one.stp: First translation-time ko test. - -2005-06-03 Frank Ch. Eigler <fche@redhat.com> - - * TODO: Removed entries already represented in bugzilla. - * elaborate.cxx: Rewrite type inference for several operators. - * main.cxx (main): For -p2 runs, print types of function/probe locals. - * parse.cxx (scan): Identify more two-character operators. - (parse_comparison): Support the whole suite. - * translate.cxx (visit_unary_expression, logical_or_expr, - logical_and_expr, comparison,ternary_expression): New support. - * testsuite/parseok/semok.stp: Clever new test. - * testsuite/transok/four.stp: New test. - * testsuite/*: Some tweaked tests for syntax changes. - -2005-06-03 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx (scan): Support C and C++ comment styles. - * testsuite/parseok/four.stp: Test them some ... - * testsuite/parseko/nine.stp: ... and some more. - -2005-06-02 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx (visit_concatenation, visit_binary_expression): - New basic implementation. - (*): Reduce emitted whitespace and remove `# LINE "FILE"' lines. - -2005-06-02 Frank Ch. Eigler <fche@redhat.com> - - Parse foreach construct. Added fuller copyright notices throughout. - * staptree.h (foreach_loop): New tree node type. - * staptree.cxx: Print it, visit it, love it, leave it. - * parse.cxx: Parse it. - (parse_stmt_block): Don't require ";" separators between statements. - (parse_array_in): Use [] as index group operator instead of (). - * elaborate.cxx (visit_foreach_loop): New code. - * translate.cxx: Slightly tighten errorcount/actioncount handling. - * main.cxx: Accept "-" as script file name standing for stdin. - (visit_arrayindex): Switch to simpler set_arity call. - * configure.ac: Generate DATE macro. - * Makefile.in, configure, config.in: Regenerated. - * testsuite/*: New/updated tests for syntax changes, foreach (). - -2005-05-30 Frank Ch. Eigler <fche@redhat.com> - - More fully parse & elaborate "expr in array" construct. - * staptree.h (array_in): Make this unary. Update .cxx to match. - * parse.cxx (parse_array_in): Rewrite. - (parse_symbol_plain): Removed. Update .h to match. - * elaborate.cxx (typeresolution_info::visit_array_in): New function. - (find_array): Tentatively, accept arity=0. - * translate.cxx (c_unparser::c_assign): New functions to eliminate - much ugly duplication. Use throughout. - (visit_symbol): Correct function formal argument search. - (c_tmpcounter*::visit): Add missing recursion in several functions. - * testsuite/*: Add new tests for array-in construct. Add the - first "transok" test. - * Makefile.am: Add transok tests. - * Makefile.in: Regenerated. - -2005-05-26 Frank Ch. Eigler <fche@redhat.com> - - * translate.cxx: Traverse trees just for common-header generation, - to emit explicit temp variables into context. Switch to explicit - "frame" pointer in generated function/probe bodies. Initialize - locals in function bodies. Rename "test_unparser" to "c_unparser" - throughout. - -2005-05-24 Frank Ch. Eigler <fche@redhat.com> - - * elaborate.cxx (find_array): Support automagic tapset globals. - * testsuite/semok/nine.stp: Test it. - * staptree.cxx (stapfile print): List globals. - -2005-05-24 Frank Ch. Eigler <fche@redhat.com> - - * testsuite/semlib/*: New tapset library chunks for "-I" testing. - * testsuite/semok/eight.stp, nine.stp: New tests. - -2005-05-22 Frank Ch. Eigler <fche@elastic.org> - - * Makefile.am (gcov): New target to generate test-coverage data from - a testsuite run. - * Makefile.in: Regenerated. - -2005-05-20 Frank Ch. Eigler <fche@redhat.com> - - Many changes throughout. Partial sketch of translation output. - * elaborate.*: Elaboration pass. - * translate.*: Translation pass. - * staptree.*: Simplified for visitor concept. - * main.cxx: Translator mainline. - * *test.cxx: Removed. - * testsuite/*: Some new tests, some changed for newer syntax. - -2005-05-05 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx (parse): Add helper methods. - (lexer::scan, parse_assignment): Parse "<<<" operator. Fix assignment - associativity. - (parse_symbol): Permit function with empty arg list. - (parse_global, parse_statement, parse_functiondecl): Expect - unconsumed leading keyword. - (parse_global): Don't use ";" termination. - * parse.h: Corresponding changes. - * staptree.cxx (binary_expression::resolve_types): Fix <<< - type inference. - (translator_output): Improve pretty-printing. - (*): Add general visitors to statement/expression types. - * staptree.h: Corresponding changes. Tweak symresolution_info fields. - Add semantic_error class. - * semtest.cxx: Adapt to this. - * testsuite/parseok/two.stp, semok/*.stp: Adapt to syntax changes. - -2005-03-15 Frank Ch. Eigler <fche@redhat.com> - - * semtest.cxx: Print probe signatures properly. - * staptree.cxx (probe::printsig): New function. - -2005-03-15 Frank Ch. Eigler <fche@redhat.com> - - * TODO: New file. Include some probe-point-provider syntax examples. - * parse.cxx (lexer::scan, parser::parse_literal): Support hex, octal - numbers via strtol. - (parse_probe, parse_probe_point): Modify for dotted syntax. - * staptree.cxx: Ditto. - * parsetest.cxx, semtest.cxx: Print parse/sem results even if - .stp files were given on command line. - * parse.h, staptree.h: Rename probe_point_spec -> probe_point. - * runtest.sh: New test-runner front-end script. - * Makefile.am: Use it for TESTS_ENVIRONMENT. - * testsuite/*: Update probe point syntax. Add a bunch of new tests. - -2005-03-04 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx (scan): Support '$' characters in identifiers. - (parse_symbol): Support thread-> / process-> shorthand. - * staptree.cxx (symresolution_info::find): Split up into - find_scalar, find_array, find_function. - (resolve_symbols): Call the above for symbol/arrayindex/functioncall. - (find_scalar): Add stub support for synthetic builtin variables. - * staptree.h: Corresponding changes. - * testsuite/*: Some new tests. - -2005-03-03 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx (parse_assignment): Assert lvalueness of left - operand. - * staptree.h (expression): Add is_lvalue member. - * staptree.cxx (functioncall::resolve_types): Don't crash on - formal-vs-actual argument count mismatch. - (*): Add some is_lvalue stub functions. - * testsuite/*: Some new tests. - -2005-03-01 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx: Implement left-associativity for several types of - operators. Add some more statement types. Parse functions. - Be able to print tokens. Simplify error generating functions. - Save tokens in all parse tree nodes. - * parse.h: Corresponding changes. - * staptree.cxx: Move tree-printing functions here. Add many - new functions for symbol and type resolution. - * staptree.h: Corresponding changes. - * semtest.cxx: New semantic analysis pass & test driver. - * testsuite/sem*/*: New tests. - * parsetest.cxx: Separated parse test driver. - * testsuite/parse*/*: Adapt tests to parsetest driver. - * Makefile.am: Build semtest. Run its tests. - * Makefile.in: Regenerated. - -2005-02-11 Frank Ch. Eigler <fche@redhat.com> - - * parse.cxx, parse.h: New files: parser. - * staptree.h: New file: semantic object declarations. - * staptree.cxx: New dummy driver file. |