| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Allocated section needs to be writable when creating pic shared objects
because we store relocatable addresses in them. We used to make this
read only for non-pic executables, but the new semaphore support relies
on having a writable .probes section to put the enabled variables in.
* includes/sys/sdt.h (ALLOCSEC): Define unconditionally as "aw".
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It's important for macros like this to appear as a single statement, so
they won't break the control flow of the caller. The new STAP_SEMAPHORE
macro was breaking this masquerade, but now I've moved it inside of the
do-while block.
* includes/sys/sdt.h (STAP_SEMAPHORE): Define the disabled case empty.
(STAP_PROBE[1-10]_): Move the semaphore inside the do-while block.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itrace.h (__access_process_vm): Moved from here...
* runtime/access_process_vm.h: New. ...to here.
* translate.cxx (translate_pass): Include access_process_vm.h
* session.h (sdt_semaphore_addr): New.
* tapsets.cxx (sdt_query::record_semaphore): New. Record sdt_semaphore_addr.
(uprobe_derived_probe_group::emit_module_decls): Allow for uprobe guard variable to be set and unset.
(uprobe_derived_probe_group::emit_module_decls): Likewise.
(uprobe_derived_probe_group::emit_module_exit): Likewise.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Likewise.
(utrace_derived_probe_group::emit_module_decls): Likewise.
(utrace_derived_probe_group::emit_module_exit): Likewise.
|
|
|
|
|
|
|
|
| |
PR10533 inlined vars are not always found was fixed which means we
no longer need to prevent inlining of the STAP_PROBE macros.
* includes/sys/sdt.h (STAP_UNINLINE_LABEL): Removed.
(STAP_PROBE[1-9]_): Remove label: and STAP_UNINLINE_LABEL.
|
|
|
|
|
| |
Fixes FTBFS, see
https://buildd.debian.org/fetch.cgi?pkg=systemtap;ver=0.9.9-1;arch=armel;stamp=1249664825
|
|
|
|
|
|
| |
First check kprobe and utrace (did we arrive via stap?) then check
if probe arg matches mark("NAME")
* sdt.h (STAP_PROBE?_): Use STAP_GUARD for stap check, not gettid.
|
|
|
|
|
|
|
|
| |
Allocated section needs to be writable when creating pic shared objects
because we store relocatable addresses in them.
* includes/sys/sdt.h (ALLOCSEC): New macro, depends on __PIC__.
(STAP_PROBE_DATA_): Use new ALLOCSEC macro.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* sdt.h (STAP_PROBE_DATA_): Pad with 0 so final probe entry doesn't
pickup a stray word.
* sdt_misc.exp (static_user_markers.{c,d}): Add bstruct to test struct
type handling
|
|
|
|
| |
* sdt.h (STAP_PROBE1): Add cast of parm1 for narrower signed types.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sdt.h (EXPERIMENTAL_UTRACE_SDT, EXPERIMENTAL_KPROBE_SDT): New probe
point macros.
* dtrace: Add support for creating type debug info, currently invoked
with --types.
* tapsets.cxx (probe_table::convert_probe): New.
(probe_table::convert_location): New.
(dwarf_builder::build): Use it to simplify probe point handling.
* sdt.exp (pbtype_flags, pbtype_mssgs): New to also test kprobe and utrace.
* static_uprobes.exp (pbtype_flags, pbtype_mssgs): New to also test kprobe and utrace.
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_NOP): __powerpc__ doesn't want an extra 0.
Tested-by: Mahesh Jagannath Salgaonkar <mahesh@linux.vnet.ibm.com>
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBE_DATA_): Mark .probes section SHF_ALLOC.
* tapsets.cxx (dwarf_builder::build): Search in either dwarf or main elf
file for .probes section.
|
|
|
|
|
| |
* sdt.h (STAP_NOP): New.
(STAP_PROBE): Use it.
|
|
|
|
|
| |
* sdt.h (STAP_PROBE_ADDR): New.
(STAP_PROBE_DATA_): Use it.
|
|
|
|
|
|
| |
* sdt.h: Use .quad instead of .long for .probe section addresses.
ia64 and s390 require 'nop 0' and x86 tolerates it.
* tapsets.cxx (build): Fetch probe_name in a big endian friendly fashion.
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_UNINLINE): New.
(STAP_UNINLINE_LABEL): New.
static_uprobes.exp: Match using charset instead of .*
|
|
|
|
|
| |
* includes/sdt.h (STAP_PROBEN): Use R "g" instead of RW "+rm" which
can result in "read-only variable arg1 used as asm output"
|
|
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBEN): Revive the STAP_LABEL macro to
prevent inlining to keep probe parameters visible. Use +rm
constraints.
* tapsets.cxx (build): Use .probes section for all uses of static
probes.
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBE_DATA_): Use gas local labels which
avoids a mysql problem when a function containing a probe is inlined.
Make the data placement 32 bit aware.
|
|
|
|
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBE_DATA): New. Define the probe point
using asm instead of c.
(STAP_PROBEN): Use it.
* testsuite/systemtap.base/sdt.exp: Continue if a compile fails.
* testsuite/systemtap.base/static_uprobes.exp: Don't test setting
probe without .probes section.
|
|
|
|
|
|
| |
Replaced cpp VA_ARGS in sdt.h with explicit enumeration of arguments
(since with -pedantic, cpp has no varargs), and added a few more
cflags variants to the sdt.exp test case.
|
|
|
|
| |
* includes/sys/sdt.h: Couple asm with its arg declaration.
|
|
|
|
| |
* include/sys/sdt.h: Initialize args when declaring. Use alternate keywords.
|
|
|
|
| |
* includes/sys/sdt.h: Add #include <sys/types.h>.
|
|
|
|
| |
* includes/sys/sdt.h: Assign args, after declaration.
|
|
|
|
| |
includes/sys/sdt.h: Replace c++ comments with plain C comments.
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBE_STRUCT_ARG): Remove ending semi-colon.
(STAP_LABEL_REF): Likewise.
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBE): Don't add __VA_ARGS__.
|
|
|
|
|
| |
* includes/sys/sdt.h (STAP_PROBEN_): New macros that take
advantage of __COUNTER__
|
|
|
|
|
| |
* dtrace (provider): Add STAP_PROBE10.
* includes/sys/sdt.h: Likewise. Convert labels to __label__
|
| |
|
| |
|
|
|