]> sourceware.org Git - systemtap.git/log
systemtap.git
7 years agoAdd __label__ for each deref_fault in tapsets
Richard Henderson [Mon, 26 Jun 2017 17:14:45 +0000 (10:14 -0700)]
Add __label__ for each deref_fault in tapsets

When adding our own error handling, privatize the label.

7 years agofollowup to 5cdaa947cbb, avoid using _a symbols
Frank Ch. Eigler [Thu, 22 Jun 2017 22:03:36 +0000 (18:03 -0400)]
followup to 5cdaa947cbb, avoid using _a symbols

Just superstition perhaps, but restore earlier version's use of
'addr' identifier in the *deref macros.

7 years agotesting-only patch to track down why $argv[0] read-faults
Frank Ch. Eigler [Thu, 22 Jun 2017 20:02:42 +0000 (16:02 -0400)]
testing-only patch to track down why $argv[0] read-faults

7 years agoloc2c-runtime.h: in deref calls, tolerate nested calling
Frank Ch. Eigler [Thu, 22 Jun 2017 19:59:22 +0000 (15:59 -0400)]
loc2c-runtime.h: in deref calls, tolerate nested calling

With the loc2stap code, it is possible to see constructs like
deref(8, deref(8, deref(8, deref(8, fetch_register(4))))
so the addr field is itself a deref.  This blows up if the deref
macro copies the addr parameter multiple times, with a glorious
exponential fanout!  So now we use a temporary variable within
the macro, to hold the address value, then reuse that.

7 years agotranslator for embeddedcode: don't emit deref_fault pseudo-labels
Frank Ch. Eigler [Thu, 22 Jun 2017 19:49:39 +0000 (15:49 -0400)]
translator for embeddedcode: don't emit deref_fault pseudo-labels

We will aim to rely on the single solitary deref_fault: label
emitted at the tail of functions / probes boilerplate, rather
than labels that may be nested within generated code.  This
also needs the old-fashioned CATCH_DEREF_FAULT macro for
embedded-C code to no longer define the label.

7 years agoimplicptr.c test case: defeat more compiler optimizations
Frank Ch. Eigler [Thu, 22 Jun 2017 19:48:43 +0000 (15:48 -0400)]
implicptr.c test case: defeat more compiler optimizations

Force the compiler to not optimize away a few more locals.

7 years agosemantic analysis: functions: process them all in semantic_pass_symbols()
Frank Ch. Eigler [Thu, 22 Jun 2017 01:58:45 +0000 (21:58 -0400)]
semantic analysis: functions: process them all in semantic_pass_symbols()

With a number of synthetic script functions being generated
during the probe-derivation process, we need to ensure that
all of them go through the full symbol-resolution process.
Previously, only the dome->functions[] array was dealt with
in this early part of pass-2, which was probably OK because
only embedded-C functions tended to be synthetically generated.
Not any more!

7 years agostaptree loc2stap: de-duplicate ctx target_symbol nodes
Frank Ch. Eigler [Wed, 21 Jun 2017 16:39:13 +0000 (12:39 -0400)]
staptree loc2stap: de-duplicate ctx target_symbol nodes

For symbol-resolution purposes, it's important that different
probes'/functions' staptrees are -trees-, not DAGs, so their
nodes are not reused (and thus ->referent fields not possibly mis-set).

7 years agotapset loc2c: don't set symbol/functioncall->referent; that's for symresolution pass
Frank Ch. Eigler [Tue, 20 Jun 2017 19:11:09 +0000 (15:11 -0400)]
tapset loc2c: don't set symbol/functioncall->referent; that's for symresolution pass

Also, get the symresolve stuff to trace more verbosely.

7 years agoconst_folder update tracing
Frank Ch. Eigler [Tue, 20 Jun 2017 03:08:08 +0000 (23:08 -0400)]
const_folder update tracing

Same as previous commit, for const-folder this time.

7 years agostaptree update_visitor: include a verbosity member for tracing replacements
Frank Ch. Eigler [Tue, 20 Jun 2017 02:27:32 +0000 (22:27 -0400)]
staptree update_visitor: include a verbosity member for tracing replacements

With verbosity >= 4, the update_visitor will now print a trace message
whenever a staptree node is rewritten through its require/provide
machinery.  This includes the piecemeal processing of $context vars,
simplifications, optimizations, much of the whole shebang.

7 years agoFix array indexing
Richard Henderson [Wed, 14 Jun 2017 04:51:38 +0000 (21:51 -0700)]
Fix array indexing

Mixed results overall: -6 , +11 failures.
But is clearly now more correct.

7 years agoFix at_var.exp
Richard Henderson [Mon, 12 Jun 2017 18:01:28 +0000 (11:01 -0700)]
Fix at_var.exp

7 years agoFix systemtap.base/const_value.stp
Richard Henderson [Thu, 1 Jun 2017 20:50:10 +0000 (13:50 -0700)]
Fix systemtap.base/const_value.stp

7 years agoFix translation of lvalue store to register
Richard Henderson [Thu, 1 Jun 2017 18:53:14 +0000 (11:53 -0700)]
Fix translation of lvalue store to register

7 years agoFix buildok/pretty-uprobes.stp
Richard Henderson [Wed, 31 May 2017 19:06:03 +0000 (12:06 -0700)]
Fix buildok/pretty-uprobes.stp

7 years agoFix buildok/twentynine.stp
Richard Henderson [Wed, 31 May 2017 17:59:16 +0000 (10:59 -0700)]
Fix buildok/twentynine.stp

7 years agoFix buildok/nfs_proc-detailed.stp
Richard Henderson [Wed, 31 May 2017 17:16:57 +0000 (10:16 -0700)]
Fix buildok/nfs_proc-detailed.stp

7 years agoFix buildok/logging-embedded.stp
Richard Henderson [Tue, 30 May 2017 18:24:17 +0000 (11:24 -0700)]
Fix buildok/logging-embedded.stp

7 years agoFix bz1269062.exp
Richard Henderson [Thu, 25 May 2017 18:16:18 +0000 (11:16 -0700)]
Fix bz1269062.exp

7 years agoFix lvalue deref function syntax
Richard Henderson [Mon, 22 May 2017 19:32:04 +0000 (12:32 -0700)]
Fix lvalue deref function syntax

7 years agoAdjust when to signal "value in register"
Richard Henderson [Thu, 18 May 2017 15:56:13 +0000 (08:56 -0700)]
Adjust when to signal "value in register"

It's a hacky solution, but it more or less matches the previous hacky
solution.  I had hoped to track this property properly, on the evaluation
stack, but that turns out to be tedious and error prone.

7 years agoHandle target_deref as lvalue
Richard Henderson [Tue, 16 May 2017 00:18:38 +0000 (17:18 -0700)]
Handle target_deref as lvalue

7 years agoMake sure pointers are dereferenced when required
Richard Henderson [Sun, 14 May 2017 20:15:14 +0000 (13:15 -0700)]
Make sure pointers are dereferenced when required

7 years agoAdd function to dump expressions from gdb
Richard Henderson [Fri, 12 May 2017 19:19:25 +0000 (12:19 -0700)]
Add function to dump expressions from gdb

7 years agoExamine embedded_expr for pragmas
Richard Henderson [Wed, 10 May 2017 15:51:56 +0000 (08:51 -0700)]
Examine embedded_expr for pragmas

7 years agoRe-add address relocation
Richard Henderson [Tue, 9 May 2017 01:23:58 +0000 (18:23 -0700)]
Re-add address relocation

7 years agoAlways limit the scope of deref_fault label
Richard Henderson [Mon, 8 May 2017 19:39:08 +0000 (12:39 -0700)]
Always limit the scope of deref_fault label

While it might be better to change tapset/* to use CATCH_DEREF_FAULT,
it doesn't hurt to always limit the label.

7 years agoRevert "Revert all bpf patches"
Richard Henderson [Fri, 5 May 2017 03:12:28 +0000 (20:12 -0700)]
Revert "Revert all bpf patches"

This reverts commit 3414d598ff94362eb27d26024aabbe6a51368843.

7 years agoRevert all bpf patches
Richard Henderson [Thu, 4 May 2017 18:55:47 +0000 (11:55 -0700)]
Revert all bpf patches

This reverts commits:
02a3ce26f69233fce8d175fbf248a6b9b1f4a654
ceac2b1bcf5170848e0aca7595e6b8222e122e7b
24a49c47f3a76a8058cf6545de5968fe8a036d5b
7f1e56e9fe2f94ab181481396068d09ab8c42ce8
009ff1576c6990db63f48a57234f2d5454f63bf5
8e39930950bfd916971e1df132b6abf269fbe314
03629ed30d3334aebe0ebe2c57ae9b2fb90eab4d
7ca1ffe6e431e4818a9a479935d75a428d2aaf57
0603c3e9f86c47f3b5096a8060bed35f71d1d6e4
cbceaaecb14cfb81ae4d6e88e3495edc02e6efbf
567e36b73db7ce7c293d2e8f5378d3968f5838af
ee54f2bab5265d044955d1d29a8564b778c21416
51be46c30ade0a9b0dc1fe0b96f00922f9ae5a78
7e2cd9f56293f69718df015c96cab37960e0e032

7 years agoFix my typo in systemtap.spec.
David Smith [Thu, 4 May 2017 19:02:16 +0000 (14:02 -0500)]
Fix my typo in systemtap.spec.

7 years agoAdd support for the httpd code to systemtap.spec, defaulting to "off".
David Smith [Thu, 4 May 2017 18:51:08 +0000 (13:51 -0500)]
Add support for the httpd code to systemtap.spec, defaulting to "off".

7 years agoEmit deref_fault labels
Richard Henderson [Wed, 26 Apr 2017 18:47:12 +0000 (11:47 -0700)]
Emit deref_fault labels

We used to emit these during dwflpp::express_as_string, after we'd
generated the rest of the body of the embeddedcode node.  Emitting
these unconditionally is, for now at least, easier than walking the
tree to figure out if they're needed.

The __attribute__ syntax for labels dates from gcc 4.2.

7 years agoFix some errors in the loc2stap rewrite
Richard Henderson [Fri, 21 Apr 2017 21:12:33 +0000 (14:12 -0700)]
Fix some errors in the loc2stap rewrite

The old code had some hidden side effects within translate_location,
wherein we failed to save the result of the dereference.

7 years agoRemove duplication in deprecated tapset functions
Cody Santing [Wed, 3 May 2017 16:31:39 +0000 (12:31 -0400)]
Remove duplication in deprecated tapset functions

* Removed systemtap version compile conditions on
deprecated functions.  Deprecated functions now refer to their
replacements rather than being a direct copy.

7 years agoman stapprobes: mention that process.begin enumerates
Frank Ch. Eigler [Wed, 3 May 2017 14:58:43 +0000 (10:58 -0400)]
man stapprobes: mention that process.begin enumerates

7 years agoMake changes for RHEL6 in the http web service server code.
David Smith [Tue, 2 May 2017 17:11:29 +0000 (12:11 -0500)]
Make changes for RHEL6 in the http web service server code.

* configure.ac: Accept version 2.17.0 of the uuid library (for RHEL6).
* httpd/Makefile.am: Add ../util.cxx for regexp support that works on
  RHEL6.
* httpd/main.cxx: Ditto.
* httpd/server.cxx: Ditto.
* httpd/server.h: Ditto.
* configure: Regenerated.
* httpd/Makefile.in: Ditto.

7 years agoAdded initial http web service server code.
David Smith [Mon, 1 May 2017 20:55:51 +0000 (15:55 -0500)]
Added initial http web service server code.

* httpd/Makefile.am
* httpd/Makefile.in: Generated.
* httpd/main.cxx: httpd main program source.
* httpd/server.cxx: httpd server framework
* httpd/server.h: httpd server include file
* configure.ac: Make sure we have the microhttpd and uuid libraries before
  trying to build the httpd code.
* Makefile.am: Added 'httpd' subdirectory.
* Makefile.in: Regenerated.
* config.in: Ditto.
* configure: Ditto.

7 years agoPR20988: New strpos() tapset function
Martin Cermak [Thu, 27 Apr 2017 15:54:24 +0000 (17:54 +0200)]
PR20988: New strpos() tapset function

* tapset/string.stp: New strpos() tapset function
* testsuite/systemtap.string/strpos.{stp,exp}: New testcase

7 years agoPR21435: Convenience groupadd for the make install target
Martin Cermak [Thu, 27 Apr 2017 15:52:52 +0000 (17:52 +0200)]
PR21435: Convenience groupadd for the make install target

7 years agoAdd S390 DWARF register names
Richard Henderson [Tue, 25 Apr 2017 17:30:54 +0000 (19:30 +0200)]
Add S390 DWARF register names

Give bpf-translate.cxx mappings for the DWARF register names for S390.

7 years agoAdd PPC DWARF register names
Richard Henderson [Tue, 25 Apr 2017 17:23:58 +0000 (19:23 +0200)]
Add PPC DWARF register names

Give bpf-translate.cxx mappings for the DWARF register names for PPC.

7 years agoAvoid server test failures by fixing test server startup/shutdown.
David Smith [Tue, 25 Apr 2017 19:48:13 +0000 (14:48 -0500)]
Avoid server test failures by fixing test server startup/shutdown.

* testsuite/lib/systemtap.exp: Avoid 'output: can't read "logfile": no
  such variable' tcl errors when starting systemtap server by properly
  handling server logfile.

7 years agoMerge remaining compat and nd_compat syscalls per PR20333.
Martin Cermak [Tue, 25 Apr 2017 09:58:12 +0000 (11:58 +0200)]
Merge remaining compat and nd_compat syscalls per PR20333.

7 years agoGet loc2stap.cxx working with the gcc 4.4 compiler (RHEL6-era).
David Smith [Mon, 17 Apr 2017 16:12:04 +0000 (11:12 -0500)]
Get loc2stap.cxx working with the gcc 4.4 compiler (RHEL6-era).

* loc2stap.cxx: Change some std::to_string() calls to lex_cast() calls to
  make the RHEL6 compiler happy. Also adjust a structure initialization.

7 years agoAdd aarch64 DWARF register names
William Cohen [Mon, 17 Apr 2017 02:57:34 +0000 (22:57 -0400)]
Add aarch64 DWARF register names

To allow systemtap to compile on aarch64 machines with kernels that
supports BPF bpf-translate.cxx needs to have mappings for the DWARF
register names for aarch64.

7 years agoAdd ARM DWARF register names
William Cohen [Sun, 16 Apr 2017 19:44:27 +0000 (15:44 -0400)]
Add ARM DWARF register names

To allow systemtap to compile on 32-bit ARM machines with kernels that
supports BPF bpf-translate.cxx needs to have mappings for the DWARF
register names for ARM.

7 years agoconfigure: Check for linux/bpf.h header.
Mark Wielaard [Fri, 14 Apr 2017 11:52:39 +0000 (13:52 +0200)]
configure: Check for linux/bpf.h header.

Don't build bpf backend support if there is no bpf.h header.
Skip translate_bpf_pass if there is no bpf support.
Regenerate configure and Makefile.in.

7 years agostapbpf/libbpf.c: Define __NR_bpf and initialize anonymous bpf_attr union.
Mark Wielaard [Fri, 14 Apr 2017 10:44:36 +0000 (12:44 +0200)]
stapbpf/libbpf.c: Define __NR_bpf and initialize anonymous bpf_attr union.

__NR_bpf might not be defined in older headers, if so define it ourselves.
Older GCC have trouble initializing anonymous struct fields in a union
directly. Initialize them more explicitly.

7 years agostapbpf/stapbpf.cxx: Define PERF_EVENT_IOC_SET_BPF.
Mark Wielaard [Fri, 14 Apr 2017 10:43:38 +0000 (12:43 +0200)]
stapbpf/stapbpf.cxx: Define PERF_EVENT_IOC_SET_BPF.

PERF_EVENT_IOC_SET_BPF was introduced in 4.1, define it if unknown.

7 years agobpf-translate.cxx: Include elfutils/version.h and check Strent exists.
Mark Wielaard [Fri, 14 Apr 2017 10:40:57 +0000 (12:40 +0200)]
bpf-translate.cxx: Include elfutils/version.h and check Strent exists.

Before elfutils 0.167 the strtab functions were only available through
the unsupported libebl library.

7 years agoloc2stap.cxx (location_context::translate): Initialize implicit_value.
Mark Wielaard [Fri, 14 Apr 2017 10:12:44 +0000 (12:12 +0200)]
loc2stap.cxx (location_context::translate): Initialize implicit_value.

Prevent a error with GCC -Werror=missing-field-initializers.
Explicit set length and data.

7 years agoFix -Wimplicit-fallthrough build errors for bpf code
William Cohen [Wed, 12 Apr 2017 20:13:25 +0000 (16:13 -0400)]
Fix -Wimplicit-fallthrough build errors for bpf code

GCC7 will now error implicit fallthrough's as per sourceware.org/PR7652

7 years agoSquashed commit of the eBPF backend for stap
Richard Henderson [Wed, 5 Apr 2017 17:03:42 +0000 (10:03 -0700)]
Squashed commit of the eBPF backend for stap

7 years agostap-report: also collect kbuild gcc command lines
Frank Ch. Eigler [Mon, 10 Apr 2017 17:45:49 +0000 (13:45 -0400)]
stap-report: also collect kbuild gcc command lines

7 years agoFix PR21363 by getting _struct_sched_attr_u() working on rawhide.
David Smith [Fri, 7 Apr 2017 15:13:41 +0000 (10:13 -0500)]
Fix PR21363 by getting _struct_sched_attr_u() working on rawhide.

* buildrun.cxx (compile_pass): Add autoconf test to check for the
  existence of <uapi/linux/sched/types.h>
* tapset/linux/aux_syscalls.stp: Include <uapi/linux/sched/types.h> if
  STAPCONF_UAPI_LINUX_SCHED_TYPES is defined.
* runtime/linux/autoconf-uapi-linux-sched-types.c: New autoconf test.

7 years agoUpdate tracepoint finding logic for the 'swiotlb' tracepoint group.
David Smith [Wed, 5 Apr 2017 17:50:43 +0000 (12:50 -0500)]
Update tracepoint finding logic for the 'swiotlb' tracepoint group.

* tapsets.cxx (tracepoint_extra_decls): Add support for the 'swiotlb'
  tracepoint group.

7 years agoAdd a new tracepoint test to check compile requirements for each group.
David Smith [Wed, 5 Apr 2017 16:05:04 +0000 (11:05 -0500)]
Add a new tracepoint test to check compile requirements for each group.

* testsuite/systemtap.base/tracepoints_list.exp: Add a new test where we
  make sure that each tracepoint group's compile tweaks are sufficient in
  itself.

7 years agoFix several small items found by a coverty code scan.
David Smith [Wed, 5 Apr 2017 15:28:39 +0000 (10:28 -0500)]
Fix several small items found by a coverty code scan.

* tapsets.cxx (uprobe_derived_probe_group): Add constructor to initialize
  'max_perf_counters'.
* session.cxx (parse_cmdline): Be sure check 'optarg' is NULL before
  trying to use it.
* elaborate.cxx (stat_decl_collector::visit_stat_op): Make sure that if
  iterator is at the end, we don't try to access it anyway.

7 years agoFix PR21353 by correctly handling the compat arch fcntl syscall
Martin Cermak [Wed, 5 Apr 2017 12:45:16 +0000 (14:45 +0200)]
Fix PR21353 by correctly handling the compat arch fcntl syscall

7 years agoman: add a note about direct pointer dereferencing
Ruslan Kuprieiev [Tue, 4 Apr 2017 13:06:52 +0000 (16:06 +0300)]
man: add a note about direct pointer dereferencing

It is currently not very clear how to dereference a pointer to
a basic type, so lets add two notes about it to man pages.

Signed-off-by: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com>
7 years agoPR21297 Add support for new statx syscall
Martin Cermak [Tue, 4 Apr 2017 08:25:22 +0000 (10:25 +0200)]
PR21297 Add support for new statx syscall

tapset/linux/aux_syscalls.stp: Add _statx_mask_str()
tapset/linux/i386/syscall_num.stp: Add statx syscall info
tapset/linux/x86_64/syscall_num.stp: Ditto
tapset/linux/sysc_statx.stp: New syscall tapset
testsuite/buildok/nd_syscalls2-detailed.stp: New buildok test
testsuite/buildok/syscalls2-detailed.stp: Ditto
testsuite/systemtap.syscall/stat.c: New statx syscall subtest

7 years agoAdd a minor tweak to syscall_consistency.exp.
David Smith [Mon, 3 Apr 2017 15:48:51 +0000 (10:48 -0500)]
Add a minor tweak to syscall_consistency.exp.

* testsuite/systemtap.syscall/syscall_consistency.exp (get_syscalls):
  Provide a default value for the 'scname' variable.

7 years agoTweak elfutils version discovery in the testsuite.
David Smith [Fri, 31 Mar 2017 19:36:40 +0000 (14:36 -0500)]
Tweak elfutils version discovery in the testsuite.

* testsuite/lib/systemtap.exp (get_system_info): If we're running a
  version of systemtap compiled with version X of elfutils, but running
  with version Y of elfutils (where Y > X), the elfutils version gets
  reported as 'Y/X'. Make sure to parse this correctly.

7 years agoComment in session.cxx to explain elfutils build/run version strings.
Frank Ch. Eigler [Fri, 31 Mar 2017 12:28:05 +0000 (08:28 -0400)]
Comment in session.cxx to explain elfutils build/run version strings.

7 years agoNo longer kfail semok/autocast14.stp.
David Smith [Wed, 29 Mar 2017 20:15:03 +0000 (15:15 -0500)]
No longer kfail semok/autocast14.stp.

* testsuite/systemtap.pass1-4/semok.exp: Since code to fix PR18079 has
  been committed, remove the kfail for semok/autocast14.stp.

7 years agoWorkaround parser issue in nfs_proc.stp.
David Smith [Tue, 28 Mar 2017 21:36:30 +0000 (16:36 -0500)]
Workaround parser issue in nfs_proc.stp.

* tapset/linux/nfs_proc.stp (nfs.proc3.read_done): To avoid parser issues,
  split up @choose_defined() code into two separate if statements. Note
  that this is a workaround until we can fix the parser issue.
  (nfs.proc4.read_done): Ditto.

7 years agoAdapt stapdyn to the dyninst 9.3.1 library search model.
Stan Cox [Tue, 28 Mar 2017 18:39:14 +0000 (14:39 -0400)]
Adapt stapdyn to the dyninst 9.3.1 library search model.

stapdyn/dynutil.cxx (check_dyninst_rt): Use DYNINST_REWRITER_PATHS
and appendenv

util.c, util.h:  New: appendenv.

7 years agoFix BZ1431263 commit by removing unused arg.
David Smith [Mon, 27 Mar 2017 16:36:42 +0000 (11:36 -0500)]
Fix BZ1431263 commit by removing unused arg.

* tapsets.cxx (enroll): Remove unused systemtap_session argument.

7 years agoBZ1431263: Remove "too many hardware breakpoint probes" warning.
David Smith [Mon, 27 Mar 2017 16:16:53 +0000 (11:16 -0500)]
BZ1431263: Remove "too many hardware breakpoint probes" warning.

* tapsets.cxx (hwbkpt_derived_probe_group::enroll): Remove warning about
  too many hardware breakpoint probes, since we can't really know how many
  this system supports until we try to register them.

7 years agoBZ1431263: Add hardware breakpoint functional test.
David Smith [Mon, 27 Mar 2017 15:33:14 +0000 (10:33 -0500)]
BZ1431263: Add hardware breakpoint functional test.

* testsuite/systemtap.base/hw_breakpoint.exp: New hardware breakpoint
  test.
* testsuite/systemtap.base/stap_hwbkpt_kmod.Makefile: Ditto.
* testsuite/systemtap.base/stap_hwbkpt_kmod.c: Ditto.

7 years agoBZ1431263: Always use HW_BREAKPOINT_LEN_* macros.
David Smith [Mon, 27 Mar 2017 15:32:50 +0000 (10:32 -0500)]
BZ1431263: Always use HW_BREAKPOINT_LEN_* macros.

* tapsets.cxx (hwbkpt_derived_probe_group::emit_module_init): Always use
  HW_BREAKPOINT_LEN_* macros, not just on x86_64.

7 years agoBZ1431263: Expect hardware breakpoint scripts compile failures.
David Smith [Mon, 27 Mar 2017 14:37:47 +0000 (09:37 -0500)]
BZ1431263: Expect hardware breakpoint scripts compile failures.

* testsuite/systemtap.pass1-4/buildok.exp: Expect hwbkpt.stp compilation
  to fail on systems (like arm64) where hwbkpt_probes_p returns false.
* testsuite/systemtap.pass1-4/buildok-interactive.exp: Ditto.

7 years agoBZ1431263: Disable kernel.data probes on arm64.
David Smith [Thu, 23 Mar 2017 21:21:37 +0000 (16:21 -0500)]
BZ1431263: Disable kernel.data probes on arm64.

* tapsets.cxx (hwbkpt_builder::build): On arm64, hardware breakpoint
  probes continually get triggered. So, disable them.

7 years agoFix PR21238 by printing better inode uprobes registration errors.
Vitaly Mayatskikh [Thu, 23 Mar 2017 19:06:37 +0000 (14:06 -0500)]
Fix PR21238 by printing better inode uprobes registration errors.

* runtime/linux/uprobes-inode.c (stapiu_target_reg): Print correct error
  code if registration fails.

7 years agoFixed BZ1430828 by replacing task_exe_file() with current_exe_file().
David Smith [Wed, 22 Mar 2017 20:51:56 +0000 (15:51 -0500)]
Fixed BZ1430828 by replacing task_exe_file() with current_exe_file().

* tapset/linux/task.stp (current_exe_file): New function.
  (task_exe_file): Deprecate and rewrite in terms of
  current_exe_file(). This keeps us from potentially accessing task->mm in
  an unsafe manner.
* testsuite/buildok/task-embedded.stp: Updated.
* testsuite/systemtap.base/task_paths.exp: Ditto.
* testsuite/systemtap.base/task_paths.stp: Ditto.
* NEWS: Add deprecation comment.
* doc/SystemTap_Tapset_Reference/man3/function::task_exe_file.3stap:
  Ditto.
* doc/SystemTap_Tapset_Reference/man3/function::current_exe_file.3stap:
  New file.

7 years agogcc PR80115: sys/sdt.h: tweak i386 argument passing
Jakub Jelinek [Tue, 21 Mar 2017 21:04:08 +0000 (17:04 -0400)]
gcc PR80115: sys/sdt.h: tweak i386 argument passing

Use %w[arg] to request that widened forms of register names be passed
to the sys/sdt.h macro operand strings, so as to avoid nominating
sub-registers such as %sil within -m32 code, which gcc <= 6 sometimes
buggily did.

7 years agoBZ1431263: Fix hardware breakpoint probe handler return types.
David Smith [Tue, 21 Mar 2017 20:49:11 +0000 (15:49 -0500)]
BZ1431263: Fix hardware breakpoint probe handler return types.

* tapsets.cxx (hwbkpt_derived_probe_group::emit_module_decls): Fix
  hardware breakpoint probe handler return type - changed from 'int' to
  'void' to match the kernel.
  (hwbkpt_derived_probe_group::emit_module_init): Ditto.

7 years agoPR21255: Fix missing __set_task_state() definition.
David Smith [Fri, 17 Mar 2017 15:44:12 +0000 (10:44 -0500)]
PR21255: Fix missing __set_task_state() definition.

* runtime/stp_utrace.c: Fix missing __set_task_state() definition. If we
  can't find a __set_task_state() definition, define our own.

7 years agoPR21255: Fix missing get_task_mm() declaration.
David Smith [Fri, 17 Mar 2017 14:36:42 +0000 (09:36 -0500)]
PR21255: Fix missing get_task_mm() declaration.

* buildrun.cxx (compile_pass): Add <linux/sched/mm.h> autoconf test. This
  was caused by the following kernel commit:

    commit 6e84f31522f931027bf695752087ece278c10d3f
    Author: Ingo Molnar <mingo@kernel.org>
    Date:   Wed Feb 8 18:51:29 2017 +0100

        sched/headers: Prepare for new header dependencies before moving
        code to <linux/sched/mm.h>
* runtime/linux/access_process_vm.h: Include <linux/sched.h> and, if it
  exists, <linux/sched/mm.h>.
* runtime/linux/autoconf-sched-mm.c: New file.

7 years agoFix BZ1425568 by updating task_dentry_path() to handle chroot().
David Smith [Fri, 10 Mar 2017 16:15:48 +0000 (10:15 -0600)]
Fix BZ1425568 by updating task_dentry_path() to handle chroot().

* tapset/linux/dentry.stp (task_dentry_path): Fix task_dentry_path when
  called on a target executable that has run chroot().
* testsuite/systemtap.base/task_dentry_path.exp: Add test for chroot'ed
  executable.
* testsuite/systemtap.base/task_dentry_path3.stp: New test.

7 years agoAdd PR19021 test case to task_dentry_path.exp.
David Smith [Thu, 9 Mar 2017 17:11:49 +0000 (11:11 -0600)]
Add PR19021 test case to task_dentry_path.exp.

7 years agoFor custom built upstream kernels on Debian, fix version detection
Ritesh Raj Sarraf [Thu, 2 Mar 2017 18:21:05 +0000 (23:51 +0530)]
For custom built upstream kernels on Debian, fix version detection

Debian Bug: 856461

rrs@learner:~$ stap-prep
dpkg: warning: version '(gcc' has bad syntax: version number does not start with digit
Package linux-image-4.10.1+ version 4.10.1+-20 does not match version of currently running kernel: (gcc
 Consider apt-get upgrade && reboot
dpkg: warning: version '(gcc' has bad syntax: version number does not start with digit
Package linux-headers-4.10.1+ version 4.10.1+-20 does not match version of currently running kernel: (gcc
 Consider apt-get upgrade && reboot
You need package linux-image-4.10.1+-dbgsym but it does not seem to be available
 Debian -dbgsym packages are typically in a separate repository
 Follow https://wiki.debian.org/AutomaticDebugPackages to add this repository
2017-03-02 / 23:32:37 ♒♒♒  ☺

Signed-off-by: Ritesh Raj Sarraf <rrs@debian.org>
7 years agoSet correct updated message for Debian
Ritesh Raj Sarraf [Thu, 2 Mar 2017 18:21:04 +0000 (23:51 +0530)]
Set correct updated message for Debian

Debian now provides debug symbol packages for all its packages,
including for the Linux kernel.
There is a separate repository for debug symbol packages.

This patch updates those details.
Thanks to Jack Henschel for reporting the bug and the fix

Signed-off-by: Ritesh Raj Sarraf <rrs@debian.org>
7 years agoImprove syscall test case results on newer powerpc kernels.
David Smith [Mon, 6 Mar 2017 22:31:12 +0000 (16:31 -0600)]
Improve syscall test case results on newer powerpc kernels.

* testsuite/systemtap.syscall/getrandom.c: Improved.
* testsuite/systemtap.syscall/kexec_load.c: Add support for
  kexec_file_load() to be unimplemented.
* testsuite/systemtap.syscall/tapset/syscall.stp: Mark kexec_file_load()
  as unimplemented on powerpc.

7 years agoRegenerated tapset/linux/ARCH/syscall_num.stp files.
David Smith [Mon, 6 Mar 2017 22:25:06 +0000 (16:25 -0600)]
Regenerated tapset/linux/ARCH/syscall_num.stp files.

* scripts/dump-syscalls.sh: Added comment about how to obtain strace
  source.
* tapset/linux/arm/syscall_num.stp: Regenerated from the v4.16-27-gdb316ec
  version of strace.
* tapset/linux/arm64/syscall_num.stp: Ditto.
* tapset/linux/i386/syscall_num.stp: Ditto.
* tapset/linux/mips/syscall_num.stp: Ditto.
* tapset/linux/powerpc/syscall_num.stp: Ditto.
* tapset/linux/x86_64/syscall_num.stp: Ditto.

7 years agoFix s390x-specific syscall tests.
David Smith [Thu, 2 Mar 2017 21:25:17 +0000 (15:25 -0600)]
Fix s390x-specific syscall tests.

* testsuite/buildok/syscalls-arch-detailed.stp: Made s390x probe tests
  optional, since the underlying probes don't exist on the 4.10 kernel.
* testsuite/buildok/nd_syscalls-arch-detailed.stp: Ditto.

7 years agoFix s390x compile error in runtime/stack-s390.c.
David Smith [Thu, 2 Mar 2017 21:23:28 +0000 (15:23 -0600)]
Fix s390x compile error in runtime/stack-s390.c.

* runtime/stack-s390.c (__stp_stack_print): Update code to let it compile
  on the 4.10 kernel. Kernel commit d5c352c moved 'thread_info' into
  task_struct.

7 years agoPR20600: Don't use 'time' uninitialized in __stp_time_local_update().
David Smith [Thu, 2 Mar 2017 19:11:35 +0000 (13:11 -0600)]
PR20600: Don't use 'time' uninitialized in __stp_time_local_update().

* runtime/time.c (__stp_time_local_update): Make sure to initialize 'time'
  before use.

7 years agoUpdate lookup_bad_addr() for platforms where user_addr_max() doesn't exist.
David Smith [Thu, 2 Mar 2017 17:14:47 +0000 (11:14 -0600)]
Update lookup_bad_addr() for platforms where user_addr_max() doesn't exist.

* runtime/linux/addr-map.c (lookup_bad_addr): Handle platforms (like
  s390x) where in_task() exists, but user_addr_max() doesn't.

7 years agoFix PR20600 by updating __stp_time_local_update().
David Smith [Tue, 28 Feb 2017 16:12:06 +0000 (10:12 -0600)]
Fix PR20600 by updating __stp_time_local_update().

* runtime/time.c (__stp_time_local_update): Fix PR20600 by changing the
  way we disable/reenable interrupts.

7 years agodummy commit to test git fsckObjects
Frank Ch. Eigler [Fri, 24 Feb 2017 17:56:54 +0000 (12:56 -0500)]
dummy commit to test git fsckObjects

7 years agoUpdate the vfs.stp tapset for newer kernels.
David Smith [Wed, 22 Feb 2017 16:04:00 +0000 (10:04 -0600)]
Update the vfs.stp tapset for newer kernels.

* tapset/linux/vfs.stp: Since the __block_write_begin() function can be
  inlined on newer kernels, we'll also probe
  __block_write_begin_int(). Also, check to see if '$file' is defined
  before using it in _vfs.block_write_begin.return.

7 years agosamples: add cve-2017-6074 security band-aid
Frank Ch. Eigler [Wed, 22 Feb 2017 14:53:50 +0000 (09:53 -0500)]
samples: add cve-2017-6074 security band-aid

7 years agoPR21190: Only build with --enable-sqlite on fedora17+ and rhel7+.
Martin Cermak [Tue, 21 Feb 2017 14:42:25 +0000 (15:42 +0100)]
PR21190: Only build with --enable-sqlite on fedora17+ and rhel7+.

Build with --enable-sqlite on systems having at least sqlite-3.7.

7 years agoAutoreconf after version update (3.1 -> 3.2).
Martin Cermak [Mon, 20 Feb 2017 15:43:24 +0000 (16:43 +0100)]
Autoreconf after version update (3.1 -> 3.2).

This fixes the `make rpm` target, so that it works out of the box.

7 years agoBegin next release cycle
Cody Santing [Fri, 17 Feb 2017 18:49:19 +0000 (13:49 -0500)]
Begin next release cycle

* NEWS: Add section for version 3.2
* configure.ac: Bump version to 3.2
* doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml: same
* systemtap.spec: same
* testsuite/configure.ac: same

7 years agosystemtap.spec: changelog date for release release-3.1
Frank Ch. Eigler [Fri, 17 Feb 2017 17:37:01 +0000 (12:37 -0500)]
systemtap.spec: changelog date for release

7 years agoNEWS: release date set
Frank Ch. Eigler [Fri, 17 Feb 2017 17:34:38 +0000 (12:34 -0500)]
NEWS: release date set

7 years agoPrerelease updates
Cody Santing [Fri, 17 Feb 2017 17:04:27 +0000 (12:04 -0500)]
Prerelease updates

* .../SystemTap_Beginners_Guide: Update docs using ./scripts/update-docs
* .../syscalls.3stap: same
* .../syscalls.xmlpart: same
* session.cxx: Update copyright year
* stapdyn/stapdyn.cxx: same
* staprun/common.c: same

This page took 0.064235 seconds and 5 git commands to generate.