Messages in this thread | | | Date | Tue, 18 Nov 2008 14:52:52 +0000 | From | "Jan Beulich" <> | Subject | Re: [RFC,v2] x86_64: save_args out of line |
| |
>>> Ingo Molnar <mingo@elte.hu> 18.11.08 15:03 >>> >* Jan Beulich <jbeulich@novell.com> 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
| |