ARM: 7893/1: bitops: only emit .arch_extension mp if CONFIG_SMP
authorWill Deacon <will.deacon@arm.com>
Tue, 19 Nov 2013 14:46:11 +0000 (15:46 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 20 Nov 2013 23:05:53 +0000 (23:05 +0000)
commitb7ec699405f55667caeb46d96229d75bf33a83ad
treeb27d565cbd94b5e5a57ef727691c7ea52b5cd0e6
parent5761704a41c63ebe756295a13d2e236280dd8a86
ARM: 7893/1: bitops: only emit .arch_extension mp if CONFIG_SMP

Uwe reported a build failure when targetting a NOMMU platform with my
recent prefetch changes:

  arch/arm/lib/changebit.S: Assembler messages:
  arch/arm/lib/changebit.S:15: Error: architectural extension `mp' is
not allowed for the current base architecture

This is due to use of the .arch_extension mp directive immediately prior
to an ALT_SMP(...) instruction. Whilst the ALT_SMP macro will expand to
nothing if !CONFIG_SMP, gas will still choke on the directive.

This patch fixes the issue by only emitting the sequence (including the
directive) if CONFIG_SMP=y.

Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/bitops.h