| From ralf@linux-mips.org Fri May 8 16:41:43 2015 |
| From: Ralf Baechle <ralf@linux-mips.org> |
| Date: Thu, 2 Apr 2015 14:42:52 +0100 |
| Subject: MIPS: Makefile: Fix MIPS ASE detection code |
| To: stable@vger.kernel.org |
| Message-ID: <6c0628970f5549f2ceceb5c5814587f2d5064723.1431087908.git.ralf@linux-mips.org> |
| |
| |
| From: Markos Chandras <markos.chandras@imgtec.com> |
| |
| Commit 5306a5450824691e27d68f711758515debedeeac upstream. |
| |
| Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after |
| setting the core's CFLAGS") re-arranged the MIPS ASE detection code |
| and also added the current cflags to the detection logic. However, |
| this introduced a few bugs. First of all, the mips-cflags should not |
| be quoted since that ends up being passed as a string to subsequent |
| commands leading to broken detection from the cc-option-* tools. |
| Moreover, in order to avoid duplicating the cflags-y because of how |
| cc-option works, we rework the logic so we pass only those cflags which |
| are needed by the selected ASE. Finally, fix some typos resulting in MSA |
| not being detected correctly. |
| |
| Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> |
| Fixes: Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS") |
| Cc: Maciej W. Rozycki <macro@linux-mips.org> |
| Cc: linux-mips@linux-mips.org |
| Patchwork: https://patchwork.linux-mips.org/patch/9661/ |
| Signed-off-by: Ralf Baechle <ralf@linux-mips.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/mips/Makefile | 14 ++++++++++---- |
| 1 file changed, 10 insertions(+), 4 deletions(-) |
| |
| --- a/arch/mips/Makefile |
| +++ b/arch/mips/Makefile |
| @@ -197,11 +197,17 @@ endif |
| # Warning: the 64-bit MIPS architecture does not support the `smartmips' extension |
| # Pass -Wa,--no-warn to disable all assembler warnings until the kernel code has |
| # been fixed properly. |
| -mips-cflags := "$(cflags-y)" |
| -cflags-$(CONFIG_CPU_HAS_SMARTMIPS) += $(call cc-option,$(mips-cflags),-msmartmips) -Wa,--no-warn |
| -cflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,$(mips-cflags),-mmicromips) |
| +mips-cflags := $(cflags-y) |
| +ifeq ($(CONFIG_CPU_HAS_SMARTMIPS),y) |
| +smartmips-ase := $(call cc-option-yn,$(mips-cflags) -msmartmips) |
| +cflags-$(smartmips-ase) += -msmartmips -Wa,--no-warn |
| +endif |
| +ifeq ($(CONFIG_CPU_MICROMIPS),y) |
| +micromips-ase := $(call cc-option-yn,$(mips-cflags) -mmicromips) |
| +cflags-$(micromips-ase) += -mmicromips |
| +endif |
| ifeq ($(CONFIG_CPU_HAS_MSA),y) |
| -toolchain-msa := $(call cc-option-yn,-$(mips-cflags),mhard-float -mfp64 -Wa$(comma)-mmsa) |
| +toolchain-msa := $(call cc-option-yn,$(mips-cflags) -mhard-float -mfp64 -Wa$(comma)-mmsa) |
| cflags-$(toolchain-msa) += -DTOOLCHAIN_SUPPORTS_MSA |
| endif |
| |