to create NTHREADS threads. With NTHREADS==128 and the stack-size
rlimit set to "unlimited", the test is otherwise likely to fail because
on ia64 it will default to using 32MB of stack per thread.
(Logical change 1.291)
(consume_some_stack_space): New function.
(main): Call consume_some_stack_space() before establishing the
rlimit. Otherwise, stack-expansion may bump into
the address-space rlimit.
(Logical change 1.290)
(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)