Messages in this thread | | | Date | Tue, 16 Dec 2008 22:49:26 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH][RFC 2/23]: SCST core |
| |
* Frédéric Weisbecker <fweisbec@gmail.com> wrote:
> > All the above functionality is almost what we need. The only thing > > left, which I forgot to mention, is possibility to log also functions > > return value on exit. This is what TRACE_EXIT_RES() in SCST does. Is > > it possible to add those? > > I want to add that on the function graph tracer. That can be done pretty > easily. The only problem comes with the type of the return value. Would > this tracer be supposed to always return a 64 bits value regardless of > the real typ of the value? There would be some pointless bytes on most > return values. I don't know how to proceed for this problem.
Things like mov ...,%eax are zero-extend so they'll zap the high 32 bits.
The real problem are byte return values generated via things like:
movb $1, %al
those wont zero-extend, so you could get garbage in the output. One approach would be to try a quick hack just to see how common a problem this is.
We could extract the return type from the debuginfo, hash it in a read-mostly table and then look it up, but that seems complex both in terms of build overhead and in terms of runtime overhead.
Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |