summaryrefslogtreecommitdiffstats
path: root/runtime/arith.c
Commit message (Collapse)AuthorAgeFilesLines
* 2005-09-12 Martin Hunt <hunt@redhat.com>hunt2005-09-121-205/+188
| | | | | | | * 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.
* 2005-09-10 Frank Ch. Eigler <fche@elastic.org>fche2005-09-101-159/+171
| | | | * arith.c: Add some comments explaining why the last change works.
* Fix for jiffies.hunt2005-09-091-1/+2
|
* 2005-09-09 Martin Hunt <hunt@redhat.com>hunt2005-09-091-14/+12
| | | | | | | | * 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.
* 2005-09-08 Martin Hunt <hunt@redhat.com>hunt2005-09-081-4/+5
| | | | | * arith.c (_stp_div64): Check for overflow. (_stp_mod64): Ditto.
* 2005-09-08 Martin Hunt <hunt@redhat.com>hunt2005-09-081-63/+275
| | | | | | | | * arith.c (_stp_div64): For 64-bit cpus, just use native division. Otherwise call _div64(). (_stp_mod64): Call _mod64() isf necessary. (_div64): 64-bit division for 32-bit cpus. (_mod64): 64-bit modulo for 32-bit cpus.
* 2005-08-21 Frank Ch. Eigler <fche@redhat.com>fche2005-08-211-11/+11
| | | | | | | | | | | | | | | | | 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-21 Frank Ch. Eigler <fche@redhat.com> * arith.c (*): Adapt to last_error context variable.
* 2005-08-19 Frank Ch. Eigler <fche@elastic.org>fche2005-08-191-1/+23
| | | | | | | | | | | | | | | | | PR systemtap/1209 * tapsets.cxx * 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> * arith.c (_stp_random_pm): New function.
* 2005-08-12 Frank Ch. Eigler <fche@elastic.org>fche2005-08-121-0/+79
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-12 Frank Ch. Eigler <fche@elastic.org> * arith.c: New file to contain arithmetic helper functions. * builtin_functions.h: Remove, unused. * runtime.h: Include it.