roland [Fri, 14 Oct 2005 11:30:45 +0000 (11:30 +0000)]
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.
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.
kevinrs [Wed, 12 Oct 2005 23:47:26 +0000 (23:47 +0000)]
tapset/systemcall.stp:
* Tested the first 15 aliases on fc4. Cleaned up
some code.
tapset/aux_syscalls.stp:
* Added file to contain aux helper functions that
are used by the system call tapset. Added embed-
ded C functions to extract values from user-
space pointers.
fche [Mon, 10 Oct 2005 17:06:57 +0000 (17:06 +0000)]
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.
kevinrs [Fri, 7 Oct 2005 17:54:26 +0000 (17:54 +0000)]
* 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.
fche [Thu, 6 Oct 2005 16:33:48 +0000 (16:33 +0000)]
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-06 Frank Ch. Eigler <fche@elastic.org>
PR 1332.
* sym.h: New file to declare explicit symbol table struct.
* runtime.h (_stp_kallsyms_lookup_tabled): Use it if available.
* sym.c (_stp_symbol_sprint): HAS_LOOKUP mooted.
graydon [Wed, 5 Oct 2005 00:43:14 +0000 (00:43 +0000)]
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.
fche [Sat, 1 Oct 2005 17:25:24 +0000 (17:25 +0000)]
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.
graydon [Sat, 1 Oct 2005 00:10:52 +0000 (00:10 +0000)]
[ChangeLog]
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.
mask_string.stp
function uses different algorithm to build symbolic
flag string from int. Now uses locals to do so. SMP
safe.
string.stp
add isinstr(s1,s2) - return 1 if s1 contains s2 else
return 0
tapset/mask_string.stp:
wrote a few aux functions that can be used by tapsets to derive
a bitmask symbolic string from a given number
tapset/string.stp:
strlen: Returns the length of the string argument
substr: Returns a substring starting at start/ending at stop
stapfuncs.5.in:
Added a STRING category with aforementioned functions
tapset/system_calls.stp
Exported more variable for more system calls
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.
* map.c (_stp_cmp): New comparison function for sorts.
(_stp_swap): New swap function for bubble sort.
(_stp_map_sortn): New function.
(_stp_map_sort): New function.
(_stp_map_printn): New function.
(_stp_map_print): Convert to a macro.
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.
* arith.c (_stp_div64): Check for division by 0 or -1 first.
This simplifies things and removes the possibility of x86_64
trying LLONG_MIN/-1 and faulting.
(_stp_mod64): Ditto.
* Makefile.am, runtest.sh: Use a "testresuilt/" directory in build
tree rather than overloading "testsuite/".
* TODO: Removed obsoleted file.
* Makefile.in: Regenerated.
* stat-common.c (_stp_stat_print_valtype): Use _stp_div64().
* arith.c (_stp_div64): Check error before writing to it.
Remove check against 32-bit LONG_MIN and -1. That only
applies to 64-bit.
(_stp_mod64): Ditto.