Re: [RFC,v2] x86_64: save_args out of line

From: Jan Beulich
Date: Tue Nov 18 2008 - 09:52:33 EST


>>> Ingo Molnar <mingo@xxxxxxx> 18.11.08 15:03 >>>
>* Jan Beulich <jbeulich@xxxxxxxxxx> wrote:
>> No tool, if you mean that. Extensive changes I verify by looking at
>> the dump, problems are usually found only when back traces don't
>> come out right.
>
>that's a fundamental weakness of all the CFI annotations.
>
>It is outright wrong to waste humans on this mechanic task: as it is

This part I agree to.

>abundantly clear to GAS where we change a stack pointer and by how
>much - it could emit magic annotations automatically just as much.
>
>So if you care about it, please fix this in the tools space. The
>entry_64.S impact of finegrained annotations is just too ugly for
>things like this.
>
>One limited exception is for basic stack frames where we do syscalls
>or call into other C code. (i.e. the patch proposed here would have to
>do that limited annotation)
>
>But the per instruction annotations currently in that code are madness
>and must either be cleaned up significantly via the use of GAS macros
>(so that all stack pointer manipulations go via a single macro
>invocation), or be completely auto-generated by GAS.

Making gas auto-generate this is not really possible (much like ia64
requires the annotations to be inserted manually), mainly because gas
can't know whether e.g. a push of a register is in order to preserve its
value, or for some other purpose.

I do have a set of macros for this in nlkd, maybe (as you're asking for it)
I should get them out of there (and convert them to AT&T syntax).

Jan

--
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/