On Fri, 30 Jan 2015, Markos Chandras wrote: > @@ -131,14 +131,14 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips. > # 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. > -cflags-$(CONFIG_CPU_HAS_SMARTMIPS) += $(call cc-option,-msmartmips) -Wa,--no-warn > -cflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,-mmicromips) > +cflags-$(CONFIG_CPU_HAS_SMARTMIPS) += $(call cc-option,-march=mips32r2 -msmartmips) -Wa,--no-warn > +cflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,-march=mips32r2 -mmicromips) The SmartMIPS ASE has been there since r1, e.g. the 4KSd core so you want to allow `-march=mips32', but also `-march=mips32r2' if running on earlier processors is not needed. I think to ensure the right ISA option has been selected it will be the best to make it happen in Kconfig, by making CPU_HAS_SMARTMIPS and CPU_MICROMIPS depend on the right CPU selection option. Have you considered such an approach (and disregarded it for some reason)? > > cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \ > -fno-omit-frame-pointer > > ifeq ($(CONFIG_CPU_HAS_MSA),y) > -toolchain-msa := $(call cc-option-yn,-mhard-float -mfp64 -Wa$(comma)-mmsa) > +toolchain-msa := $(call cc-option-yn,-march=mips32r2 -mhard-float -mfp64 -Wa$(comma)-mmsa) > cflags-$(toolchain-msa) += -DTOOLCHAIN_SUPPORTS_MSA > endif Similarly here, is CPU_HAS_MSA incompatible with `-march=mips64r2'? Maciej