Add tests that backtrace and backtrace_symbols produce correct results
Joseph S. Myers
joseph@codesourcery.com
Mon Jan 21 15:34:00 GMT 2013
On Sun, 20 Jan 2013, Andreas Schwab wrote:
> Chris Metcalf <cmetcalf@tilera.com> writes:
>
> > Presumably the PC is in the __read function, with the link register
> > holding the return address to the caller, and that should give the
> > stack frame walker the innermost frame.
>
> But that frame is not linked, instead the called frame is pointing to
> caller's caller frame.
"not linked" merely implies something about appropriate implementation
strategies for the backtrace function, not anything wrong with the
testcase.
I think it's a useful feature for backtrace to support backtracing through
system calls interrupted by signals, showing the function being executed
at the time of the signal. This works, at least, on x86 and x86_64 (and
was previously tested to work for SH, ARM, MIPS as well). If there are
actual failures of this case on some architectures (and I don't think any
such architectures have actually been identified in this discussion), that
indicates a failure to achieve feature parity on those architectures, for
which the most natural fix would be architecture-specific (such as adding
missing unwind info for system calls, or changing something about the
backtrace implementation). Only with a clear reason why such feature
parity between architectures is hard to achieve in a particular case
should this test then be relaxed, or disabled for particular
architectures.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list