Re: [tip:x86/mm] x86: Work around old gas bug

From: Jan Beulich
Date: Thu Mar 03 2011 - 04:48:12 EST


>>> On 03.03.11 at 06:35, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 03 Mar 2011 13:27:05 +0800 Shaohua Li <shaohua.li@xxxxxxxxx> wrote:
>
>> On Thu, 2011-03-03 at 00:24 +0800, Andrew Morton wrote:
>> > On Wed, 2 Mar 2011 11:41:44 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
>> >
>> > > Meanwhile, what i hate more than ugly code repetition is code that does
> not build at
>> > > all on akpm's test environment ;-)
>> >
>> > I hadn't got around to testing it. Bad news :(
>> >
>> Andrew,
>> can you this on your side? this is what Jan proposed. I can only test a
>> latest binutils here.
>
> Nope.
>
> arch/x86/kernel/entry_64.S: Assembler messages:
> arch/x86/kernel/entry_64.S:985: Error: too many positional arguments

Indeed - the problem isn't with the actual assembly construct, but
rather with the changed definitions of *INVALIDATE_TLB_VECTOR* -
properly parenthesizing them (as we needed to do in other places)
and removing unnecessary spaces gets this to build for me, even
with the original use of .irp instead of .irpc:

#if NR_CPUS <= 32
# define NUM_INVALIDATE_TLB_VECTORS (NR_CPUS)
#else
# define NUM_INVALIDATE_TLB_VECTORS (32)
#endif

#define INVALIDATE_TLB_VECTOR_END (0xee)
#define INVALIDATE_TLB_VECTOR_START \
(INVALIDATE_TLB_VECTOR_END-NUM_INVALIDATE_TLB_VECTORS+1)

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/