Re: [PATCH][RFC 2/23]: SCST core

Ingo Molnar
2008-12-16T21:50:32Z

* 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