Re: [PATCH] RFC. User space backtrace on segv

From: Neil Horman
Date: Wed Oct 06 2004 - 12:37:10 EST


Alex Bennee wrote:
Hi,

I hacked up this little patch to dump the stack and attempt to generate
a back-trace for errant user-space tasks.

What:

Generates a back-trace of the user application on (in this case) a segv
caused by an unaligned access. This particular patch is against 2.4.22
on the SH which is what I'm working with but there no reason it couldn't
be more generalised.

How:

Its not the most intelligent approach as it basically walks up the stack
reading values and seeing if the address corresponds to one of the
processes executable VMA's. If it matches it assumes its the return
address treats that section as a "frame"

Why:

I work with embedded systems and for a myriad of reasons doing a full
core dump of the crashing task is a pain. Often just knowing the
immediate call stack and local variables is enough to look at what went
wrong with objdump -S.

Questions:

Have I replicated anything that is already hidden in the code base?
Would this be useful (as a CONFIG_ option) for embedded systems?



IIRC, there is already a backtrace function defined for most arches in the c library. in execinfo.h there is a family of backtrace functions that can unwind the stack fairly well for most arches, and store the trace in a post SIGSEGV-safe fashion.

Neil

--
/***************************************************
*Neil Horman
*Software Engineer
*Red Hat, Inc.
*nhorman@xxxxxxxxxx
*gpg keyid: 1024D / 0x92A74FA1
*http://pgp.mit.edu
***************************************************/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/