Commit 24dfbe71 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

arch/arm: do not distinguish revisions of ARM1136JF-S



In commit 88cf3bb9
("arch/Config.in.arm: Use armv6k for arm1136jf-s rev1"), Benoît
Thébaudeau added separate options for the revision 0 and revision 1 of
the ARM1136JF-S processor, so that different -march values could be
used (armv6j for revision 0, armv6k for revision 1).

However, this is preventing the removal of the BR2_GCC_TARGET_ARCH
option, which we need to do to give only the CPU type to gcc, and let
it decide the architecture variant that matches. This is because this
story of revision 0 vs. revision 1 is the only case where -mcpu
doesn't fully define the CPU.

Moreover, a quick test with gcc shows that -march=armv6j
-mcpu=arm1136jf-s is accepted, while -march=armv6k -mcpu=arm1136jf-s
makes gcc complain: " warning: switch -mcpu=arm1136jf-s conflicts with
-march=armv6k switch".

In addition, gcc 5 will apparently no longer allow to pass all of
--with-arch, --with-cpu and --with-tune, so we will anyway have to
rely only on one of them.

As a consequence, this commit basically reverts
88cf3bb9 and provides only one option
for ARM1136JF-S. If the two revisions are really different, then they
should be supported in upstream gcc with different -mcpu values.

Note that the removal of the two options should not break existing
full .config, since the hidden option BR2_arm1136jf_s becomes again a
visible option to select the CPU.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 04a586ec
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -69,13 +69,8 @@ config BR2_arm926t
	select BR2_ARM_CPU_MAYBE_HAS_VFPV2
	select BR2_ARM_CPU_HAS_THUMB
	select BR2_ARM_CPU_ARMV5
config BR2_arm1136jf_s_r0
	bool "arm1136jf_s rev0"
	select BR2_ARM_CPU_HAS_VFPV2
	select BR2_ARM_CPU_HAS_THUMB
	select BR2_ARM_CPU_ARMV6
config BR2_arm1136jf_s_r1
	bool "arm1136jf_s rev1"
config BR2_arm1136jf_s
	bool "arm1136jf-s"
	select BR2_ARM_CPU_HAS_VFPV2
	select BR2_ARM_CPU_HAS_THUMB
	select BR2_ARM_CPU_ARMV6
@@ -143,10 +138,6 @@ config BR2_iwmmxt
	select BR2_ARM_CPU_ARMV5
endchoice

config BR2_arm1136jf_s
	bool
	default BR2_arm1136jf_s_r0 || BR2_arm1136jf_s_r1

choice
	prompt "Target ABI"
	depends on BR2_arm || BR2_armeb
@@ -394,8 +385,7 @@ config BR2_GCC_TARGET_ARCH
	default "armv4t"	if BR2_arm920t
	default "armv4t"	if BR2_arm922t
	default "armv5te"	if BR2_arm926t
	default "armv6j"	if BR2_arm1136jf_s_r0
	default "armv6k"	if BR2_arm1136jf_s_r1
	default "armv6j"	if BR2_arm1136jf_s
	default "armv6zk"	if BR2_arm1176jz_s
	default "armv6zk"	if BR2_arm1176jzf_s
	default "armv7-a"	if BR2_cortex_a5