summaryrefslogtreecommitdiffstats
path: root/translate.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* support multiple-relocatable-section modules such as hypothetical ↵Frank Ch. Eigler2008-07-171-42/+55
| | | | -ffunction-sections .ko's
* compiled unwindsyms should tolerate & notify on erroneous/missing "-d MODULE"Frank Ch. Eigler2008-07-161-17/+30
|
* PR6738: restore support for rhel4-era (2.6.9) kernelsFrank Ch. Eigler2008-07-121-1/+2
|
* fix variable-name-collision thinko in symbol processing logicFrank Ch. Eigler2008-07-111-3/+3
| | | | | This little ditty could cause infinite loops, but more often if stap was compiled fully optimized.
* start bundling user-space programs' symbol tablesFrank Ch. Eigler2008-07-111-19/+24
|
* Merge commit 'origin/master' into pr6429-comp-unwindsymsFrank Ch. Eigler2008-07-091-4/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'origin/master': fix shutdown race condition for scripts that might exit during begin probes Fix PR 6732: Add runtime/autoconf-real-parent.c check for task_struct field. clarify dejagnu test case name for empty-struct changes add changelog entries for last two changes Add test suite for declaration resolution Fix semantic error: empty struct Add hack to support git 1.6 in git_version.sh Sync latest fix for git_version.sh from RadeonHD's tree Slightly cleanup code of translate.cxx PR2111: add general blurbage to stapprobes.5 on syscalls tapset Use `uname -rvm` for checking system compatibility. Generate Add section to stapex manual page on how installed examples are documented. Install examples, demos and samples. Install tutorial and langref manuals.
| * Slightly cleanup code of translate.cxxWenji Huang2008-07-091-5/+3
| |
* | Merge commit 'origin/master' into pr6429-comp-unwindsymsFrank Ch. Eigler2008-07-041-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'origin/master': ubuntu (2.6.24-16-server) kernel compatibility fix client/server take 2. See bz6565. Add functioncallcount.meta and functioncallcount.stp. Add para-callgraph.stp and para-callgraph.meta. Fixed __stp_get_mm_path() error return code. diagnostics improvement: print arch/mach at top if -vv Make _vfs.generic_commit_write only for kernel<=2.6.25 Handles "mortally wounded" threads correctly when detaching. further clarify that elfutils need not be absolutely freshest, nor rebuilt every time point out releases/ directory; clarify optionality of elfutils bundling Add auto_free_ref to auto_free stuff; bug 6694
| * ubuntu (2.6.24-16-server) kernel compatibility fixFrank Ch. Eigler2008-07-031-1/+1
| |
* | emit all symbol tables at compile time; don't do any module munging; new ↵Frank Ch. Eigler2008-07-041-15/+114
| | | | | | | | unwinder still disabled
* | STP_RELOCATE message for kernel relocatability (re)adaption, starting ↵Frank Ch. Eigler2008-06-291-1/+14
| | | | | | | | implementation
* | remove /proc/kallsyms hack; add initial elfutils symtab iteration logicFrank Ch. Eigler2008-06-231-53/+93
| |
* | populate sess.unwindsym_modules set from dwarf probesFrank Ch. Eigler2008-06-231-77/+46
|/
* Reduce the number of actionremaining checks.Josh Stone2008-06-131-43/+42
| | | | | The generated code now only checks the actionremaining count at control points and after executing a large sequence of statements.
* Minimize last_error checking.Josh Stone2008-06-131-83/+52
| | | | | | The old behavior was to check last_error all over the place, and if set, jump to the out-label. Now it's changed to just jump to the out-label directly after setting last_error.
* PR6534: add a comment blurb explaining sufficiency UTS_RELEASE compile-time ↵Frank Ch. Eigler2008-06-021-0/+6
| | | | check
* PR6534: make do without uts_sem (about to be unexported from 2.6.26-mm)Frank Ch. Eigler2008-06-021-20/+9
|
* PR 6562, Modify SYSTEMTAP_DEBUGINFO_PATH behaviour.Srikar Dronamraju2008-05-301-1/+3
|
* Make sure that return statements don't override existing errors.Josh Stone2008-05-281-0/+4
|
* Merge commit 'origin/dwarfless'Jim Keniston2008-05-121-0/+1
|\ | | | | | | PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
| * Replaced [u_]arg() with [u]int_arg(), [u]long_arg(), {s|u}32_arg(),Jim Keniston2008-05-051-0/+1
| | | | | | | | | | | | | | {s|u}64_arg(), etc. Added asmlinkage(), fastcall(), regparm(). Dealt with some surprises -- e.g., rax is ZERO-extended eax. Seems to work well with -m32 and -m64 user apps, and with a (small) dwarfless subset of syscall.stp.
* | PR444886: add .../build/... to default debuginfo search pathFrank Ch. Eigler2008-05-051-1/+1
| |
* | cleanup: remove never-implemented runtime TEST_MODE compile flagFrank Ch. Eigler2008-04-281-3/+0
| |
* | 2008-04-14 David Smith <dsmith@redhat.com>David Smith2008-04-141-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge branch 'master' into unwindFrank Ch. Eigler2008-04-121-4/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: 2008-04-11 David Smith <dsmith@redhat.com> 2008-04-11 David Smith <dsmith@redhat.com> 2008-04-11 David Smith <dsmith@redhat.com> PR2949: add missing line PR2949: listings mode (stap -l PROBE) PR6393: don't bother print build (configure) date any more, with reliable git ids PR6393: regenerate git_version.h at every make PR6393: git version tagging at build time 2008-04-09 David Smith <dsmith@redhat.com> 2008-04-04 Masami Hiramatsu <mhiramat@redhat.com> 2008-04-04 David Smith <dsmith@redhat.com> 2008-04-04 Masami Hiramatsu <mhiramat@redhat.com> removing another part of retired LKET removing abandoned experiment: safety/* disassembly/symbol checks Conflicts: .gitignore ChangeLog runtime/ChangeLog
| * | 2008-04-11 David Smith <dsmith@redhat.com>David Smith2008-04-111-4/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-04 Masami Hiramatsu <mhiramat@redhat.com>Masami Hiramatsu2008-04-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | PR 6028 * translate.cxx (c_unparser::emit_common_header): Add unwaddr for caching unwound address. * tapsets.cxx (common_probe_entryfn_prologue): Clear unwaddr. * loc2c-runtime.h (fetch_register): Call ia64_fetch_register with the address of c->unwaddr. * regs-ia64.c (ia64_fetch_register): Don't unwind stack if it has already unwound stack in same probe.
* | Include string.hMartin Hunt2008-04-091-0/+2
| |
* | Change stap to get kernel symbols from debuginfo andMartin Hunt2008-04-091-29/+108
| | | | | | | | compile them into the module.
* | Merge branch 'master' into unwindFrank Ch. Eigler2008-03-311-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | * master: Revert "Just a test commit" Just a test commit bump autoconf* version numbers to 0.7 replace mentions of CVS with GIT in docuemntation files 2008-03-27 Frank Ch. Eigler <fche@elastic.org> 2008-03-27 Frank Ch. Eigler <fche@elastic.org> 2008-03-26 Frank Ch. Eigler <fche@elastic.org> Revert "dummy commit" dummy commit
| * 2008-03-26 Frank Ch. Eigler <fche@elastic.org>fche2008-03-261-0/+3
| | | | | | | | | | * translate.cxx (emit_function): Set context last_stmt, in case an error occurs during the function.
* | rebased unwind_branch on top of current masterFrank Ch. Eigler2008-03-251-66/+29
|/
* 2008-03-10 Dave Brolley <brolley@redhat.com>brolley2008-03-101-2/+73
| | | | | | | | | | | | | | 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.
* PR5045: clean up after interruptsfche2008-02-281-2/+9
| | | | | | | | | | | 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-12 Martin Hunt <hunt@redhat.com>hunt2008-02-121-2/+2
| | | | | PR 5757 * tapsets.cxx, translate.cxx: Cleanup findentation a bit.
* 2008-01-23 Dave Brolley <brolley@redhat.com>brolley2008-01-231-0/+18
| | | | | | | * 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.
* PR 4936: probe pont conditions part 2; reorg in prep for full rewritingfche2008-01-181-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Frank Ch. Eigler <fche@elastic.org> PR 4935. * semko/forty.stp, fortyone.stp, fortytwo.stp: New tests. * semok/twentynine.stp: Weaken test since condition expressions have become more tightly constrained.
* 2008-01-14 Martin Hunt <hunt@redhat.com>hunt2008-01-151-16/+8
| | | | | * 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>hunt2008-01-141-0/+1
| | | | | * translate.cxx (emit_module_exit): When using timing, delete timing stats when finished.
* 2007-11-15 David Smith <dsmith@redhat.com>dsmith2007-11-151-1/+1
| | | | | | | | | | | * 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-12 Martin Hunt <hunt@redhat.com>hunt2007-11-121-3/+35
| | | | | | | | | | | | | * 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-10-03 Frank Ch. Eigler <fche@elastic.org>fche2007-10-041-49/+40
| | | | | | | | | 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.
* PR 5096: improve code generation for function callsfche2007-10-031-18/+19
| | | | | | | | | 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.
* PR 3635: reduce number of global objectsfche2007-10-021-27/+40
| | | | | | | | | 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>fche2007-10-021-21/+24
| | | | | | | | | | | | | | | | | | | 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-10-02 Frank Ch. Eigler <fche@redhat.com> PR 5078 * semok/twentysix.stp, systemtap.base/beginenderror.*: New tests.
* 2007-09-25 Josh Stone <joshua.i.stone@intel.com>jistone2007-09-251-1/+1
| | | | | * tapsets.cxx (translator_output::~translator_output): Fix mismatched delete / delete [].
* 2007-09-12 Frank Ch. Eigler <fche@elastic.org>fche2007-09-131-5/+24
| | | | | | | | | | | PR 5023 * translate.cxx (c_unparser::visit_literal_number): Support LLONG_MIN. (visit_unary_expression): Likewise. 2007-09-12 Frank Ch. Eigler <fche@elastic.org> PR 5023. * buildok/ten.stp: Extend some more.
* 2007-09-12 Martin Hunt <hunt@redhat.com>hunt2007-09-121-7/+3
| | | | | | | | | | | | | | 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>dsmith2007-09-121-0/+1
| | | | | | * translate.cxx (c_unparser::emit_common_header): Added 'data' variable to context structure to support procfs probes. * tapsets.cxx: Improved procfs probe handling.
* 2007-08-30 David Smith <dsmith@redhat.com>dsmith2007-08-301-2/+14
| | | | | | | | 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.