Messages in this thread | | | Date | Thu, 3 Mar 2011 10:35:21 +0100 | From | Ingo Molnar <> | Subject | Re: [tip:x86/mm] x86: Work around old gas bug |
| |
* Jan Beulich <JBeulich@novell.com> wrote:
> >>> On 03.03.11 at 06:35, Andrew Morton <akpm@linux-foundation.org> wrote: > > On Thu, 03 Mar 2011 13:27:05 +0800 Shaohua Li <shaohua.li@intel.com> 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@elte.hu> 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
| |