Re: [PATCH] i386 CFI annotations

From: Jan Beulich
Date: Fri Sep 09 2005 - 01:51:06 EST


>>> Tom Rini <trini@xxxxxxxxxxxxxxxxxxx> 08.09.05 18:13:34 >>>
>On Thu, Sep 08, 2005 at 05:57:55PM +0200, Jan Beulich wrote:
>
>> >> + CFI_ADJUST_CFA_OFFSET 4;\
>> >> + /*CFI_REL_OFFSET es, 0;*/\
>> >> pushl %ds; \
>> >> + CFI_ADJUST_CFA_OFFSET 4;\
>> >> + /*CFI_REL_OFFSET ds, 0;*/\
>> >
>> >Adding new commented out code never wins new friends. :)
>>
>> I know. But how would you indicate functionality belonging there
but
>> just not provided by the translating utilities. If that's really a
>> problem, then I would need to teach the respective macros to ignore
>> certain operands.
>
>Not provided by binutils or ?

Not provided for even by the spec; if it was just binutils missing them
I'd have added this already.

>> >> diff -Npru 2.6.13/include/asm-i386/dwarf2.h
>> >[snip]
>> >> +#ifdef CONFIG_UNWIND_INFO
>> >[snip]
>> >> +#else
>> >[snip]
>> >> +#define CFI_STARTPROC ignore
>> >
>> >Why not just empty defines?
>>
>> Because they aren't function-like macros, but can have arguments
>> (assembler syntax style); these arguments would then remain
standalone
>> on the line, and the assembly would fail.
>
>Take a look at
>http://marc.theaimsgroup.com/?l=linux-kernel&m=112267822014301&w=2
>
>I think we have slightly different approaches to the same problem, but
I
>found doing the cfi macros as cpp macros instead of gas macros was
>cleaner & easier in the end.

I don't like this better, I actually started from the x86-64 approach.
Specifically, if working around the above mentioned commented-out-code
problem should be necessary, then using assembler macros is likely to
provide for an easier solution.

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/