Re: [PATCH v6 1/4] x86: Clean up extable entry format (and free up a bit)

From: Tony Luck
Date: Mon Jan 04 2016 - 18:11:38 EST


On Mon, Jan 4, 2016 at 10:08 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> On Mon, Jan 4, 2016 at 9:26 AM, Tony Luck <tony.luck@xxxxxxxxx> wrote:
>> On Mon, Jan 4, 2016 at 4:07 AM, Borislav Petkov <bp@xxxxxxxxx> wrote:

>>> Why not simply:
>>>
>>> .long (to) - . + (bias) ;
>>>
>>> and
>>>
>>> " .long (" #to ") - . + "(" #bias ") "\n"
>>>
>>> below and get rid of that _EXPAND_EXTABLE_BIAS()?
>>
>> Andy - this part is your code and I'm not sure what the trick is here.
>
> I don't remember. I think it was just some preprocessor crud to force
> all the macros to expand fully before the assembler sees it. If it
> builds without it, feel free to delete it.

The trick is definitely needed in the case of

# define _EXPAND_EXTABLE_BIAS(x) #x

Trying to expand it inline and get rid of the macro led to
horrible failure. The __ASSEMBLY__ case where the
macro does nothing isn't required ... but does provide
a certain amount of symmetry when looking at the two
versions of _ASM_EXTABLE_CLASS

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