(main): Do some silly FP computations. On x86-64, this ensures
that the signal handler invocations will always be called
with the FPU-state saved as well. Without this, the first
signal was invoked without FPU-state, the second with, causing
a spurious failure.
2004/11/17 02:06:25-08:00 mostang.com!davidm
(get_bsp): New function.
(handler): Clean up & check for error returns.
(main): Also fail if we didn't get SIGUSR2.
(Logical change 1.290)
for SuSE LES 9) so use 128KB instead.
(do_backtrace): Also print backtrace obtained via backtrace().
(foo): Remove backtrace() call---now done in do_backtrace().
(Logical change 1.290)
2004/10/19 23:11:07-07:00 mostang.com!davidm
(got_here): New global variable.
(raise_exception): Fix off-by-2 error so that we _really_ step
to the outermost a() frame.
(get_bsp): New function.
(__builtin_ia64_bsp): Remove.
(a): Print stack and bsp addresses as we recurse.
When resuming execution in outermost a() frame (n==depth),
clear "result" and set "got_here" so we know we landed in
the right place.
(main): Don't accept arguments that cause "depth" to be < 1.
When returning from a(), also check "got_here". If
the check failed, print result, got_here, and nerrors
for diagnostic purposes.
(Logical change 1.290)
2004/12/02 23:51:00-08:00 hp.com!davidm
(do_backtrace): Also print the symbol offset. Increase nesting-level
tolerance to 64 so we can test programs with deeply nested
call-chains without triggering spurious warnings.
2004/11/30 22:44:47-08:00 mostang.com!davidm
(do_backtrace): Print IP if unw_get_proc_info() fails.
2004/11/23 18:01:09-08:00 mostang.com!davidm
(do_backtrace): Fix "start_ip might be used uninitialized" warning.
(Logical change 1.290)
Include <errno.h>.
Include <ia64intrin.h> if we have it.
(get_bsp): New function.
(doit): Use get_bsp() instead of __builtin_ia64_bsp().
(main): Replace %m with %s/strerror(errno).
(Logical change 1.277)
(num_errors): Likewise.
(do_backtrace): Only print info if verbose is set.
(foo): Likewise.
(sighandler): Likewise.
(main): Likewise.
(bar): New function which is attempting to trigger a bug reported by
Anthony Brewer which is caused by GAS apparently generating bad
offsets for the psprel directive.
(f): New function.
}(Logical change 1.270)
(num_errors): Likewise.
(do_backtrace): Only print info if verbose is set.
(foo): Likewise.
(sighandler): Likewise.
(main): Likewise.
(bar): New function which is attempting to trigger a bug reported by
Anthony Brewer which is caused by GAS apparently generating bad
offsets for the psprel directive.
(f): New function.
2004/09/15 04:24:29-07:00 hp.com!davidm
Rename: tests/bt.c -> tests/Gtest-bt.c
(Logical change 1.270)
(raise_exception): Make non-static, unwind "depth - 1" steps to get to
top-most a() frame.
(__builtin_ia64_bsp): Also define for Intel-compiler.
(a): Restructure so it works in the face of global optimization and also
remove GCC dependencies.
(main): Initialize depth based on argv[1].
(Logical change 1.232)
(test_static_link_LDFLAGS): Replace -all-static with -static.
The former doesn't work on HP-UX because libc doesn't appear
to be availabale in archive format (only libc.so is available).
(forker_LDFLAGS): Likewise.
(Logical change 1.223)
Linux-specific.
Include <sys/uc_access.h> if available.
(NELEMS): Delete (already defined in internal.h).
(all_funcs): Remove left-over #if 1 directives.
(sighandler): Add HP-UX support.
(enable_sighandler): Replace SA_NOMASK with SA_NODEFER. The former
is not available on HP-UX.
(disable_sighandler): Likewise.
(Logical change 1.221)
(resume): Likewise.
(nop): Remove.
(main): Don't cast function pointer to different prototypes. That's apparently
not allowed. icc v8.0 complains about it and GCC 3.5 will actually
generate crashing code when this is done. Talk about terminated with
extreme prejudice!
(Logical change 1.213)
(do_backtrace): Call unw_get_proc_name() only if print_names is TRUE.
(main): Support command-line option -c to turn on caching of
unwind-info and -n to turn off the printing (and lookup)
of symbol names.
Stop execution if child dies with a signal.
(Logical change 1.209)
(KB): New macro.
(big): Lower the size to 64*MB. Should be enough for another year... ;-)
(gettime): Fix typo and lower the assumed cache-line size from 64
to 8 bytes just to be safe across platforms.
(measure_init): Lower N from 1000 to 100.
(cursor): Add some padding between each unw_cursor_t to avoid
benefitting from cache-line sharing.
(uc): Likewise.
Warm up the TLB before measuring the cold-cache cases.
(main): Unlimit the max. stack-size just in case.
Write to "big" to ensure it's backed by real memory
(not just by the zero page).
(Logical change 1.194)