toolchain: ARM: Fix toolchain compilation for gcc 8.x
Set the toolchain's ARM CPU and FPU architectures by utilizing' gcc's --with-cpu / --with-fpu configure options that: "Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch." This will resolve the following kernel compilation failures under gcc 8.x on ARM because the kernel wants to set (possibly conflicting) optimization flags. .../ccyVnmrs.s:204: Error: selected processor does not support `dmb ish' in ARM mode .../ccyVnmrs.s:215: Error: architectural extension `mp' is not allowed for the current base architecture .../ccyVnmrs.s:216: Error: selected processor does not support `pldw [r4]' in ARM mode Because this is a big change, the .config and toolchain need to be refreshed (as in removed and regenerated). Reported-by: Ansuel Smith <ansuelsmth@gmail.com> Reported-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [#1203] Signed-off-by: Boris Krasnovskiy <borkra@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [extended commit message, removed now-deprecated CPU_CFLAGS, changed author to gmail address]
This commit is contained in:
		 Boris Krasnovskiy
					Boris Krasnovskiy
				
			
				
					committed by
					
						 Christian Lamparter
						Christian Lamparter
					
				
			
			
				
	
			
			
			 Christian Lamparter
						Christian Lamparter
					
				
			
						parent
						
							84f13e19b4
						
					
				
				
					commit
					8dcc108760
				
			| @@ -183,26 +183,6 @@ ifeq ($(DUMP),1) | ||||
|   endif | ||||
|   ifneq ($(findstring arm,$(ARCH)),) | ||||
|     CPU_TYPE ?= xscale | ||||
|     CPU_CFLAGS_arm920t = -mcpu=arm920t | ||||
|     CPU_CFLAGS_arm926ej-s = -mcpu=arm926ej-s | ||||
|     CPU_CFLAGS_arm1136j-s = -mcpu=arm1136j-s | ||||
|     CPU_CFLAGS_arm1176jzf-s = -mcpu=arm1176jzf-s | ||||
|     CPU_CFLAGS_cortex-a5 = -mcpu=cortex-a5 | ||||
|     CPU_CFLAGS_cortex-a7 = -mcpu=cortex-a7 | ||||
|     CPU_CFLAGS_cortex-a8 = -mcpu=cortex-a8 | ||||
|     CPU_CFLAGS_cortex-a9 = -mcpu=cortex-a9 | ||||
|     CPU_CFLAGS_cortex-a15 = -mcpu=cortex-a15 | ||||
|     CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 | ||||
|     CPU_CFLAGS_cortex-a72 = -mcpu=cortex-a72 | ||||
|     CPU_CFLAGS_fa526 = -mcpu=fa526 | ||||
|     CPU_CFLAGS_mpcore = -mcpu=mpcore | ||||
|     CPU_CFLAGS_xscale = -mcpu=xscale | ||||
|     ifeq ($(CONFIG_SOFT_FLOAT),) | ||||
|       CPU_CFLAGS_neon = -mfpu=neon | ||||
|       CPU_CFLAGS_vfp = -mfpu=vfp | ||||
|       CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 | ||||
|       CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4 | ||||
|     endif | ||||
|   endif | ||||
|   ifeq ($(ARCH),powerpc) | ||||
|     CPU_CFLAGS_603e:=-mcpu=603e | ||||
|   | ||||
| @@ -161,9 +161,13 @@ ifneq ($(GCC_ARCH),) | ||||
|   GCC_CONFIGURE+= --with-arch=$(GCC_ARCH) | ||||
| endif | ||||
|  | ||||
| ifneq ($(CONFIG_SOFT_FLOAT),y) | ||||
|   ifeq ($(CONFIG_arm),y) | ||||
| ifeq ($(CONFIG_arm),y) | ||||
|   GCC_CONFIGURE+= \ | ||||
| 	--with-cpu=$(word 1, $(subst +," ,$(CONFIG_CPU_TYPE))) | ||||
|  | ||||
|   ifneq ($(CONFIG_SOFT_FLOAT),y) | ||||
|     GCC_CONFIGURE+= \ | ||||
| 		--with-fpu=$(word 2, $(subst +, ",$(CONFIG_CPU_TYPE))) \ | ||||
| 		--with-float=hard | ||||
|   endif | ||||
| endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user