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

From: Ingo Molnar
Date: Thu Mar 03 2011 - 04:35:41 EST



* Jan Beulich <JBeulich@xxxxxxxxxx> wrote:

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

That looks much nicer!

Mind sending a patch? I zapped the original non-working workaround from -tip.

Thanks,

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