Skip to contentSkip to conversation

Removal of BR2_GCC_TARGET_TUNE and other arch/ updates

PATCH Superseded Thomas Petazzoni 5 participants 48 messages Oct 19, 2014 – Oct 21, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Removal of BR2_GCC_TARGET_TUNE and other arch/ updates

Hello,

As discussed during the Buildroot Developers meeting, this patch series implement a few changes to the handling of the BR2_GCC_TARGET_{ARCH,CPU,TUNE} options.

In sequence, this patch series:

- PATCH 1 and 2 fix some dangling architecture dependency and a typo on a NIOS 2 architecture dependency. They are really fixes for existing issues.

- PATCH 3 introduces a number of ARM architecture blind options:
BR2_ARM_CPU_ARMV4, BR2_ARM_CPU_ARMV4T, ..., BR2_ARM_CPU_ARMV7A. These options will allow to simplify testing against an ARM architecture (instead of using each individual ARM core), and also allow to remove tests against BR2_GCC_TARGET_ARCH on ARM, since we later get rid of all values for this variable on ARM as part of a later patch in this series.

- PATCH 4 to 20 make use of those new blind options to replace a number of dependencies/conditions on individual ARM cores by dependencies/conditions on ARM architecture levels.

- PATCH 21 fixes the dhcpcd package as it uses the BR2_GCC_TARGET_ARCH value, which may not always exists on certain architectures.

- PATCH 22 and 23 remove the BR2_GCC_TARGET_ARCH values from the ARM architecture, since they are causing conflicts with the BR2_GCC_TARGET_CPU values. We now only specify the -mcpu value (through BR2_GCC_TARGET_CPU), and let gcc derive the corresponding ARM architecture. This fixes a long standing bug report where Buildroot would pass conflicting -march and -mcpu values for certain versions of gcc.

- PATCH 24 prepares ffmpeg for the removal of BR2_GCC_TARGET_TUNE by using BR2_GCC_TARGET_ARCH or BR2_GCC_TARGET_CPU instead.

- PATCH 25 to 28 modifies the architecture definitions to no longer use BR2_GCC_TARGET_TUNE, and instead use BR2_GCC_TARGET_CPU or BR2_GCC_TARGET_ARCH as appropriate.

- PATCH 29 to 31 finally get rid of BR2_GCC_TARGET_TUNE entirely since it is no longer used.

Thomas

Thomas Petazzoni (31):
ffmpeg: remove dangling reference to BR2_arm10
libplayer: fix typo on BR2_nios2
arch/arm: add blind options to know the ARM architecture
ffmpeg: use the new BR2_ARM_CPU_ARM* options
gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms
gst1-libav: use the new BR2_ARM_CPU_ARM* options
gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms
mplayer: use BR2_ARM_CPU_ARM* options
libplayer: use BR2_ARM_CPU_ARM* option
nettle: use the BR2_ARM_CPU_ARM* options
nodejs: use BR2_ARM_CPU_ARM* options
qt5: use the BR2_ARM_CPU_ARM* options
speex: use BR2_ARM_CPU_ARM* options
vo-aacenc: use the BR2_ARM_CPU_ARM* options
webkit: use BR2_ARM_CPU_ARM* options
valgrind: use the BR2_ARM_CPU_ARM* options
x264: use the BR2_ARM_CPU_ARMV7A option
libnspr: use the BR2_ARM_CPU_ARMV7A option
toolchain-external: use BR2_ARM_CPU_ARM* options
dhcpcd: do not pass --target option
arch/arm: do not distinguish revisions of ARM1136JF-S arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM
ffmpeg: use arch and cpu instead of tune
arch/x86: get rid of BR2_GCC_TARGET_TUNE
arch/sparc: get rid of BR2_GCC_TARGET_TUNE arch/powerpc: get rid of BR2_GCC_TARGET_TUNE arch/m68k: get rid of BR2_GCC_TARGET_TUNE
gcc: do not use BR2_GCC_TARGET_TUNE anymore
toolchain-external: do not use BR2_GCC_TARGET_TUNE anymore
arch: remove the BR2_GCC_TARGET_TUNE option

 arch/Config.in                                     |  3 -
 arch/Config.in.arm                                 | 69 ++++++++++++----------
 arch/Config.in.m68k                                |  8 ---
 arch/Config.in.powerpc                             |  2 +-
 arch/Config.in.sparc                               |  4 +-
 arch/Config.in.x86                                 | 32 +---------
 package/dhcpcd/dhcpcd.mk                           |  1 -
 package/ffmpeg/ffmpeg.mk                           | 13 ++--
 package/gcc/gcc.mk                                 |  3 -
 package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk         |  4 +-
 package/gstreamer1/gst1-libav/gst1-libav.mk        |  4 +-
 package/libnspr/libnspr.mk                         |  2 +-
 package/libplayer/Config.in                        |  5 +-
 package/mplayer/Config.in                          |  3 +-
 package/mplayer/mplayer.mk                         |  4 +-
 package/nettle/nettle.mk                           |  2 +-
 package/nodejs/Config.in                           |  4 +-
 package/qt5/Config.in                              |  2 +-
 package/speex/Config.in                            |  2 +-
 package/valgrind/Config.in                         |  7 +--
 package/valgrind/valgrind.mk                       |  4 +-
 package/vo-aacenc/vo-aacenc.mk                     |  2 +-
 package/webkit/Config.in                           |  2 +-
 package/x264/x264.mk                               |  2 +-
 toolchain/toolchain-external/Config.in             | 14 ++---
 .../toolchain-external/ext-toolchain-wrapper.c     | 12 +---
 toolchain/toolchain-external/toolchain-external.mk |  5 --
 27 files changed, 83 insertions(+), 132 deletions(-)
Signature · 1 line
2.0.0
#1 lore raw

PATCH 1/31 ffmpeg: remove dangling reference to BR2_arm10

BR2_arm10 has been removed in commit d60489a6e5e733a20d18b128646088981da57867 ("arch: remove BR2_arm10t"), so there is no point in keeping a reference to it in the ffmpeg package.

---
 package/ffmpeg/ffmpeg.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +1 -1
index 166b5ce..21ec1c9 100644
@@ -285,7 +285,7 @@ FFMPEG_CONF_OPTS += --enable-armv6
 else
 FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
 endif
-ifeq ($(BR2_arm10)$(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
 FFMPEG_CONF_OPTS += --enable-vfp
 else
 FFMPEG_CONF_OPTS += --disable-vfp
Signature · 1 line
2.0.0
#2 lore raw

PATCH 1/31 ffmpeg: remove dangling reference to BR2_arm10

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 6 lines

BR2_arm10 has been removed in commit d60489a6e5e733a20d18b128646088981da57867 ("arch: remove BR2_arm10t"), so there is no point in keeping a reference to it in the ffmpeg package.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/ffmpeg/ffmpeg.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +1 -1
index 166b5ce..21ec1c9 100644
@@ -285,7 +285,7 @@ FFMPEG_CONF_OPTS += --enable-armv6
 else
 FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
 endif
-ifeq ($(BR2_arm10)$(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
 FFMPEG_CONF_OPTS += --enable-vfp
 else
 FFMPEG_CONF_OPTS += --disable-vfp
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/31 ffmpeg: remove dangling reference to BR2_arm10

In reply to Thomas Petazzoni
Quoted 6 lines · Thomas Petazzoni

BR2_arm10 has been removed in commit d60489a6e5e733a20d18b128646088981da57867 ("arch: remove BR2_arm10t"), so there is no point in keeping a reference to it in the ffmpeg package.

Quoted 24 lines
---
 package/ffmpeg/ffmpeg.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +1 -2
index 166b5ce..21ec1c9 100644
@@ -285,7 +285,7 @@ FFMPEG_CONF_OPTS += --enable-armv6
 else
 FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
 endif
-ifeq ($(BR2_arm10)$(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
 FFMPEG_CONF_OPTS += --enable-vfp
 else
 FFMPEG_CONF_OPTS += --disable-vfp
--

2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 1 line
Samuel
#4 lore raw

PATCH 1/31 ffmpeg: remove dangling reference to BR2_arm10

In reply to Thomas Petazzoni
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

BR2_arm10 has been removed in commit d60489a6e5e733a20d18b128646088981da57867 ("arch: remove BR2_arm10t"), so there is no point in keeping a reference to it in the ffmpeg package.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 2/31 libplayer: fix typo on BR2_nios2

In reply to Thomas Petazzoni

libplayer is using BR2_nios, but it should be BR2_nios2.

---
 package/libplayer/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libplayer/Config.in +1 -1
index 4f5404c..703b96d 100644
@@ -14,7 +14,7 @@ config BR2_PACKAGE_LIBPLAYER_MPLAYER
 	bool "mplayer backend"
 	# mplayer
 	depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb || \
-		   BR2_microblaze || BR2_aarch64 || BR2_nios)
+		   BR2_microblaze || BR2_aarch64 || BR2_nios2)
 	# mplayer
 	depends on BR2_LARGEFILE
 	# mplayer
Signature · 1 line
2.0.0
#6 lore raw

PATCH 2/31 libplayer: fix typo on BR2_nios2

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 3 lines

libplayer is using BR2_nios, but it should be BR2_nios2.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/libplayer/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libplayer/Config.in +1 -1
index 4f5404c..703b96d 100644
@@ -14,7 +14,7 @@ config BR2_PACKAGE_LIBPLAYER_MPLAYER
 	bool "mplayer backend"
 	# mplayer
 	depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb || \
-		   BR2_microblaze || BR2_aarch64 || BR2_nios)
+		   BR2_microblaze || BR2_aarch64 || BR2_nios2)
 	# mplayer
 	depends on BR2_LARGEFILE
 	# mplayer
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#7 lore raw

PATCH 2/31 libplayer: fix typo on BR2_nios2

In reply to Thomas Petazzoni
Quoted 3 lines · Thomas Petazzoni

libplayer is using BR2_nios, but it should be BR2_nios2.

Quoted 24 lines
---
 package/libplayer/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libplayer/Config.in +1 -2
index 4f5404c..703b96d 100644
@@ -14,7 +14,7 @@ config BR2_PACKAGE_LIBPLAYER_MPLAYER
        bool "mplayer backend"
        # mplayer
        depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb || \
-                  BR2_microblaze || BR2_aarch64 || BR2_nios)
+                  BR2_microblaze || BR2_aarch64 || BR2_nios2)
        # mplayer
        depends on BR2_LARGEFILE
        # mplayer
--

2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 1 line
Samuel
#9 lore raw

PATCH 3/31 arch/arm: add blind options to know the ARM architecture

In reply to Thomas Petazzoni

In preparation to the removal of BR2_GCC_TARGET_ARCH for ARM, this commit introduces a number of blind options for each ARM architecture, so that packages/toolchains that had dependencies using BR2_GCC_TARGET_ARCH can continue to express their dependencies. It can also be used to simplify package dependencies that were using the individual ARM core options.

---
 arch/Config.in.arm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/Config.in.arm +39 -0
index 201ff1d..d2ba924 100644
@@ -37,6 +37,27 @@ config BR2_ARM_CPU_HAS_THUMB
 config BR2_ARM_CPU_HAS_THUMB2
 	bool
 
+config BR2_ARM_CPU_ARMV4
+	bool
+
+config BR2_ARM_CPU_ARMV4T
+	bool
+
+config BR2_ARM_CPU_ARMV5TE
+	bool
+
+config BR2_ARM_CPU_ARMV5TEJ
+	bool
+
+config BR2_ARM_CPU_ARMV6J
+	bool
+
+config BR2_ARM_CPU_ARMV6ZK
+	bool
+
+config BR2_ARM_CPU_ARMV7A
+	bool
+
 choice
 	prompt "Target Architecture Variant"
 	depends on BR2_arm || BR2_armeb
@@ -47,70 +68,88 @@ choice
 config BR2_arm920t
 	bool "arm920t"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV4T
 config BR2_arm922t
 	bool "arm922t"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV4T
 config BR2_arm926t
 	bool "arm926t"
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV5TEJ
 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_ARMV6J
 config BR2_arm1136jf_s_r1
 	bool "arm1136jf_s rev1"
 	select BR2_ARM_CPU_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6J
 config BR2_arm1176jz_s
 	bool "arm1176jz-s"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6ZK
 config BR2_arm1176jzf_s
 	bool "arm1176jzf-s"
 	select BR2_ARM_CPU_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6ZK
 config BR2_cortex_a5
 	bool "cortex-A5"
 	select BR2_ARM_CPU_MAYBE_HAS_NEON
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a7
 	bool "cortex-A7"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a8
 	bool "cortex-A8"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV3
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a9
 	bool "cortex-A9"
 	select BR2_ARM_CPU_MAYBE_HAS_NEON
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV3
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a12
 	bool "cortex-A12"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a15
 	bool "cortex-A15"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_fa526
 	bool "fa526/626"
+	select BR2_ARM_CPU_ARMV4
 config BR2_pj4
 	bool "pj4"
 	select BR2_ARM_CPU_HAS_VFPV3
+	select BR2_ARM_CPU_ARMV7A
 config BR2_strongarm
 	bool "strongarm sa110/sa1100"
+	select BR2_ARM_CPU_ARMV4
 config BR2_xscale
 	bool "xscale"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV5TE
 config BR2_iwmmxt
 	bool "iwmmxt"
+	select BR2_ARM_CPU_ARMV5TE
 endchoice
 
 config BR2_arm1136jf_s
Signature · 1 line
2.0.0
#10 lore raw

PATCH 3/31 arch/arm: add blind options to know the ARM architecture

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 17 lines

In preparation to the removal of BR2_GCC_TARGET_ARCH for ARM, this commit introduces a number of blind options for each ARM architecture, so that packages/toolchains that had dependencies using BR2_GCC_TARGET_ARCH can continue to express their dependencies. It can also be used to simplify package dependencies that were using the individual ARM core options.

---
 arch/Config.in.arm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/Config.in.arm +0 -0
index 201ff1d..d2ba924 100644

arch/Config.in.arm config BR2_ARM_CPU_HAS_THUMB · line 38

Quoted 2 lines
arch/Config.in.arm +0 -0
@@ -37,6 +37,27 @@ config BR2_ARM_CPU_HAS_THUMB
 config BR2_ARM_CPU_HAS_THUMB2
 	bool

Indirectly related to your patch: HAS_THUMB2 should select HAS_THUMB, since Thumb-2 is a superset of Thumb.

Then, you could just have (for example) BR2_ARM_CPU_ARMV4 and ditch BR2_ARM_CPU_ARMV4T since it can be reconstructed from BR2_ARM_CPU_ARMV4 && HAS_THUMB.

The reasonning is that few package actually require knowing the exact variant, but rather the instruction set generation. Thus knowing about armv4t is equivalent to knowing about armv4 for most. Those few that actuallt require the Thumb isns would need to use the HAS_THUMB option, which very purpose is just that, telling whether thumb is supported or not (or HAS_THUMB2 for Thumb-2).

As for the J version, I wonder if we need to introduce a HAS_JAZELLE option. For armv6zk (Wikpedia refer to it as armv6kz), I also doubt we need to introduce a HAS_TRUSTZONE option either. For armv7a, I think we can just use armv7, since we will probably never support the R and M profiles in Buildroot.

Regards,
Yann E. MORIN.

Quoted 120 lines
arch/Config.in.arm +39 -0
+config BR2_ARM_CPU_ARMV4
+	bool
+
+config BR2_ARM_CPU_ARMV4T
+	bool
+
+config BR2_ARM_CPU_ARMV5TE
+	bool
+
+config BR2_ARM_CPU_ARMV5TEJ
+	bool
+
+config BR2_ARM_CPU_ARMV6J
+	bool
+
+config BR2_ARM_CPU_ARMV6ZK
+	bool
+
+config BR2_ARM_CPU_ARMV7A
+	bool
+
 choice
 	prompt "Target Architecture Variant"
 	depends on BR2_arm || BR2_armeb
@@ -47,70 +68,88 @@ choice
 config BR2_arm920t
 	bool "arm920t"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV4T
 config BR2_arm922t
 	bool "arm922t"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV4T
 config BR2_arm926t
 	bool "arm926t"
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV5TEJ
 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_ARMV6J
 config BR2_arm1136jf_s_r1
 	bool "arm1136jf_s rev1"
 	select BR2_ARM_CPU_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6J
 config BR2_arm1176jz_s
 	bool "arm1176jz-s"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6ZK
 config BR2_arm1176jzf_s
 	bool "arm1176jzf-s"
 	select BR2_ARM_CPU_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6ZK
 config BR2_cortex_a5
 	bool "cortex-A5"
 	select BR2_ARM_CPU_MAYBE_HAS_NEON
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a7
 	bool "cortex-A7"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a8
 	bool "cortex-A8"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV3
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a9
 	bool "cortex-A9"
 	select BR2_ARM_CPU_MAYBE_HAS_NEON
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV3
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a12
 	bool "cortex-A12"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_cortex_a15
 	bool "cortex-A15"
 	select BR2_ARM_CPU_HAS_NEON
 	select BR2_ARM_CPU_HAS_VFPV4
 	select BR2_ARM_CPU_HAS_THUMB2
+	select BR2_ARM_CPU_ARMV7A
 config BR2_fa526
 	bool "fa526/626"
+	select BR2_ARM_CPU_ARMV4
 config BR2_pj4
 	bool "pj4"
 	select BR2_ARM_CPU_HAS_VFPV3
+	select BR2_ARM_CPU_ARMV7A
 config BR2_strongarm
 	bool "strongarm sa110/sa1100"
+	select BR2_ARM_CPU_ARMV4
 config BR2_xscale
 	bool "xscale"
 	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV5TE
 config BR2_iwmmxt
 	bool "iwmmxt"
+	select BR2_ARM_CPU_ARMV5TE
 endchoice
 
 config BR2_arm1136jf_s
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#11 lore raw

PATCH 3/31 arch/arm: add blind options to know the ARM architecture

Quoted 30 lines · Yann E. MORIN

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 17 lines

In preparation to the removal of BR2_GCC_TARGET_ARCH for ARM, this commit introduces a number of blind options for each ARM architecture, so that packages/toolchains that had dependencies using BR2_GCC_TARGET_ARCH can continue to express their dependencies. It can also be used to simplify package dependencies that were using the individual ARM core options.

---
 arch/Config.in.arm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/Config.in.arm +0 -0
index 201ff1d..d2ba924 100644

arch/Config.in.arm config BR2_ARM_CPU_HAS_THUMB · line 38

Quoted 2 lines
arch/Config.in.arm +0 -0
@@ -37,6 +37,27 @@ config BR2_ARM_CPU_HAS_THUMB
 config BR2_ARM_CPU_HAS_THUMB2
 	bool

Indirectly related to your patch: HAS_THUMB2 should select HAS_THUMB, since Thumb-2 is a superset of Thumb.

Then, you could just have (for example) BR2_ARM_CPU_ARMV4 and ditch BR2_ARM_CPU_ARMV4T since it can be reconstructed from BR2_ARM_CPU_ARMV4 && HAS_THUMB.

Quoted 6 lines

The reasonning is that few package actually require knowing the exact variant, but rather the instruction set generation. Thus knowing about armv4t is equivalent to knowing about armv4 for most. Those few that actuallt require the Thumb isns would need to use the HAS_THUMB option, which very purpose is just that, telling whether thumb is supported or not (or HAS_THUMB2 for Thumb-2).

+1 to this. I made the same reasoning.

Regards,
Arnout

Quoted 5 lines

As for the J version, I wonder if we need to introduce a HAS_JAZELLE option. For armv6zk (Wikpedia refer to it as armv6kz), I also doubt we need to introduce a HAS_TRUSTZONE option either. For armv7a, I think we can just use armv7, since we will probably never support the R and M profiles in Buildroot.

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#12 lore raw

PATCH 3/31 arch/arm: add blind options to know the ARM architecture

In reply to Yann E. MORIN

Dear Yann E. MORIN,

Quoted 10 lines · Yann E. MORIN

arch/Config.in.arm config BR2_ARM_CPU_HAS_THUMB · line 38

Quoted 7 lines
arch/Config.in.arm +0 -0
index 201ff1d..d2ba924 100644
@@ -37,6 +37,27 @@ config BR2_ARM_CPU_HAS_THUMB
 config BR2_ARM_CPU_HAS_THUMB2
 	bool

Indirectly related to your patch: HAS_THUMB2 should select HAS_THUMB, since Thumb-2 is a superset of Thumb.

Right.

Quoted 11 lines

Then, you could just have (for example) BR2_ARM_CPU_ARMV4 and ditch BR2_ARM_CPU_ARMV4T since it can be reconstructed from BR2_ARM_CPU_ARMV4 && HAS_THUMB.

The reasonning is that few package actually require knowing the exact variant, but rather the instruction set generation. Thus knowing about armv4t is equivalent to knowing about armv4 for most. Those few that actuallt require the Thumb isns would need to use the HAS_THUMB option, which very purpose is just that, telling whether thumb is supported or not (or HAS_THUMB2 for Thumb-2).

Quoted 3 lines

As for the J version, I wonder if we need to introduce a HAS_JAZELLE option. For armv6zk (Wikpedia refer to it as armv6kz), I also doubt we need to introduce a HAS_TRUSTZONE option either.

Agreed with all of that.

Quoted 3 lines

For armv7a, I think we
can just use armv7, since we will probably never support the R and M profiles in Buildroot.

But not with that one: I now have a Cortex-M platform, and I hope to do something with it at some point. And since Cortex-M platforms don't have a MMU, it's significant difference between ARMv7-A and ARMv7-M.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#13 lore raw

PATCH 4/31 ffmpeg: use the new BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Instead of using the Config.in options for each individual ARM core, use the newly introduced BR2_ARM_CPU_ARM* options, which exist per ARM architecture.

---
 package/ffmpeg/ffmpeg.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/ffmpeg/ffmpeg.mk +3 -3
index 21ec1c9..a3865f3 100644
@@ -277,15 +277,15 @@ endif
 # Explicitly disable everything that doesn't match for ARM
 # FFMPEG "autodetects" by compiling an extended instruction via AS
 # This works on compilers that aren't built for generic by default
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_strongarm)$(BR2_fa526),y)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)
 FFMPEG_CONF_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)
 FFMPEG_CONF_OPTS += --enable-armv6
 else
 FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)
 FFMPEG_CONF_OPTS += --enable-vfp
 else
 FFMPEG_CONF_OPTS += --disable-vfp
Signature · 1 line
2.0.0
#14 lore raw

PATCH 4/31 ffmpeg: use the new BR2_ARM_CPU_ARM* options

Quoted 19 lines · Thomas Petazzoni

Instead of using the Config.in options for each individual ARM core, use the newly introduced BR2_ARM_CPU_ARM* options, which exist per ARM architecture.

---
 package/ffmpeg/ffmpeg.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/ffmpeg/ffmpeg.mk +1 -1
index 21ec1c9..a3865f3 100644
@@ -277,15 +277,15 @@ endif
 # Explicitly disable everything that doesn't match for ARM
 # FFMPEG "autodetects" by compiling an extended instruction via AS
 # This works on compilers that aren't built for generic by default
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_strongarm)$(BR2_fa526),y)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)

package/ffmpeg/ffmpeg.mk endif · line 288

Quoted 10 lines
package/ffmpeg/ffmpeg.mk +2 -2
 FFMPEG_CONF_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)
 FFMPEG_CONF_OPTS += --enable-armv6
 else
 FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)

I think there was something wrong in the original, because arm1176jz-s doesn't
have VFP.

Also, there's a bunch of Cortex-A variants that were added after this selection
was merged and they all have VFP.

With that in mind, probably BR2_ARM_CPU_HAS_VFPV2 is more appropriate.

Regards,
Arnout

Quoted 4 lines
package/ffmpeg/ffmpeg.mk +0 -0
 FFMPEG_CONF_OPTS += --enable-vfp
 else
 FFMPEG_CONF_OPTS += --disable-vfp
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#15 lore raw

PATCH 5/31 gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Instead of using the Config.in options for each individual ARM core, use the newly introduced BR2_ARM_CPU_ARM* options, which exist per ARM architecture.

---
 package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk +2 -2
index b94fb0f..df10c33 100644
@@ -51,10 +51,10 @@ endif
 # Explicitly disable everything that doesn't match for ARM
 # FFMPEG "autodetects" by compiling an extended instruction via AS
 # This works on compilers that aren't built for generic by default
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_strongarm)$(BR2_fa526),y)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)
 GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK),y)
 GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
 else
 GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
Signature · 1 line
2.0.0
#16 lore raw

PATCH 6/31 gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms

In reply to Thomas Petazzoni

Contrary to the ffmpeg package, the gst-ffmpeg package was only allowing ARMv6 optimizations on ARMv6 platforms. This commit also allows ARMv6 optimizations on ARMv7 platforms, like the ffmpeg package does.

---
 package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk +1 -1
index df10c33..9234497 100644
@@ -54,7 +54,7 @@ endif
 ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)
 GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)
 GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
 else
 GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
Signature · 1 line
2.0.0
#17 lore raw

PATCH 7/31 gst1-libav: use the new BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Instead of using the Config.in options for each individual ARM core, use the newly introduced BR2_ARM_CPU_ARM* options, which exist per ARM architecture.

---
 package/gstreamer1/gst1-libav/gst1-libav.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/gstreamer1/gst1-libav/gst1-libav.mk +2 -2
index 6fdf091..db12483 100644
@@ -49,10 +49,10 @@ endif
 # Explicitly disable everything that doesn't match for ARM
 # FFMPEG "autodetects" by compiling an extended instruction via AS
 # This works on compilers that aren't built for generic by default
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_strongarm)$(BR2_fa526),y)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)
 GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK),y)
 GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
 else
 GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
Signature · 1 line
2.0.0
#18 lore raw

PATCH 8/31 gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms

In reply to Thomas Petazzoni

Contrary to the ffmpeg package, the gst1-libav package was only allowing ARMv6 optimizations on ARMv6 platforms. This commit also allows ARMv6 optimizations on ARMv7 platforms, like the ffmpeg package does.

---
 package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/gstreamer1/gst1-libav/gst1-libav.mk +1 -1
index db12483..96613ba 100644
@@ -52,7 +52,7 @@ endif
 ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),y)
 GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
 endif
-ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK),y)
+ifeq ($(BR2_ARM_CPU_ARMV6J)$(BR2_ARM_CPU_ARMV6ZK)$(BR2_ARM_CPU_ARMV7A),y)
 GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
 else
 GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
Signature · 1 line
2.0.0
#19 lore raw

PATCH 9/31 mplayer: use BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni
---
 package/mplayer/Config.in  | 3 +--
 package/mplayer/mplayer.mk | 4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)
package/mplayer/Config.in +1 -2
index 8b5d05e..dbd6cdb 100644
@@ -4,8 +4,7 @@ config BR2_PACKAGE_MPLAYER
 	depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \
 			|| BR2_microblaze || BR2_aarch64 || BR2_nios2)
 	# Broken support for <ARMv5
-	depends on !(BR2_arm920t || BR2_arm920t || BR2_arm922t || BR2_fa526 \
-		|| BR2_strongarm)
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	depends on BR2_LARGEFILE
 	help
 	  MPlayer is a movie player which runs on many systems and supports
package/mplayer/mplayer.mk +2 -2
index 0c216d7..98013c0 100644
@@ -105,11 +105,11 @@ MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBX11),xlib_libX11)
 MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXV),xlib_libXv)
 
 # ARM optimizations
-ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv5te)
+ifeq ($(BR2_ARM_CPU_ARMV5TE),y)
 MPLAYER_CONF_OPTS += --enable-armv5te
 endif
 
-ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv6j)
+ifeq ($(BR2_ARM_CPU_ARMV6J),y)
 MPLAYER_CONF_OPTS += --enable-armv6
 endif
 
Signature · 1 line
2.0.0
#20 lore raw

PATCH 10/31 libplayer: use BR2_ARM_CPU_ARM* option

In reply to Thomas Petazzoni
---
 package/libplayer/Config.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
package/libplayer/Config.in +1 -2
index 703b96d..1b6f1c0 100644
@@ -19,8 +19,7 @@ config BR2_PACKAGE_LIBPLAYER_MPLAYER
 	depends on BR2_LARGEFILE
 	# mplayer
 	# Broken support for <ARMv5
-	depends on !(BR2_arm920t || BR2_arm920t || BR2_arm922t || BR2_fa526 \
-		|| BR2_strongarm)
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	select BR2_PACKAGE_MPLAYER
 
 config BR2_PACKAGE_LIBPLAYER_GSTREAMER
Signature · 1 line
2.0.0
#21 lore raw

PATCH 11/31 nettle: use the BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Adjust the nettle package to use the BR2_ARM_CPU_ARM* option to disable the usage of assembly code on ARMv4 and ARMv5.

---
 package/nettle/nettle.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/nettle/nettle.mk +1 -1
index e73a718..934d7b3 100644
@@ -15,7 +15,7 @@ NETTLE_LICENSE_FILES = COPYING.LIB
 NETTLE_CONF_OPTS = --disable-openssl
 
 # ARM assembly requires v6+ ISA
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_arm926t)$(BR2_fa526)$(BR2_strongarm)$(BR2_xscale)$(BR2_iwmmxt),y)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T)$(BR2_ARM_CPU_ARMV5TE)$(BR2_ARM_CPU_ARMV5TEJ),y)
 NETTLE_CONF_OPTS += --disable-assembler
 endif
 
Signature · 1 line
2.0.0
#22 lore raw

PATCH 12/31 nodejs: use BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Adjust the nodejs Config.in dependencies to use the per ARM architecture BR2_ARM_CPU_ARM* options instead of the per ARM core options.

---
 package/nodejs/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/nodejs/Config.in +2 -2
index 077a043..cb8fb47 100644
@@ -7,7 +7,7 @@ config BR2_PACKAGE_NODEJS
 	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
 	depends on !BR2_MIPS_SOFT_FLOAT
 	# ARM needs BLX, so v5t+
-	depends on !(BR2_arm920t || BR2_arm922t || BR2_fa526)
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	# uses fork()
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_ZLIB
@@ -19,7 +19,7 @@ config BR2_PACKAGE_NODEJS
 comment "nodejs needs a toolchain w/ C++, IPv6, largefile, threads"
 	depends on BR2_USE_MMU
 	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
-	depends on !(BR2_arm920t || BR2_arm922t || BR2_fa526)
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || \
 		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INET_IPV6
 
Signature · 1 line
2.0.0
#23 lore raw

PATCH 13/31 qt5: use the BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni
---
 package/qt5/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/qt5/Config.in +1 -1
index 83f02f1..43450b0 100644
@@ -8,7 +8,7 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE
 	# Javascript engine is only available on certain architectures
 	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
 	# ARM needs BLX, so v5t+
-	depends on !(BR2_arm920t || BR2_arm922t || BR2_fa526)
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	default y
 
 comment "Qt5 needs a toolchain w/ wchar, IPv6, NPTL, C++"
Signature · 1 line
2.0.0
#24 lore raw

PATCH 14/31 speex: use BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni
---
 package/speex/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/speex/Config.in +1 -1
index ab743fe..8836239 100644
@@ -13,7 +13,7 @@ if BR2_PACKAGE_SPEEX
 config BR2_PACKAGE_SPEEX_ARM4
 	bool
 	default y
-	depends on BR2_arm920t || BR2_arm922t || BR2_strongarm || BR2_fa526
+	depends on BR2_ARM_CPU_ARMV4 || BR2_ARM_CPU_ARMV4T
 
 config BR2_PACKAGE_SPEEX_ARM5E
 	default y
Signature · 1 line
2.0.0
#25 lore raw

PATCH 15/31 vo-aacenc: use the BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

The vo-aacenc package has an option to enable ARMv5 optimizations. It was enabled based on per ARM core options, but now that we have per ARM architecture options, this commit switches to using them.

---
 package/vo-aacenc/vo-aacenc.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/vo-aacenc/vo-aacenc.mk +1 -1
index e35ac42..7ba8cb5 100644
@@ -26,7 +26,7 @@ VO_AACENC_CFLAGS += -mfpu=neon
 else
 VO_AACENC_CONF_OPTS += --disable-armv7neon
 
-ifeq ($(BR2_arm920t)$(BR2_arm922t)$(BR2_strongarm)$(BR2_fa526),)
+ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV4T),)
 VO_AACENC_CONF_OPTS += --enable-armv5e
 else
 VO_AACENC_CONF_OPTS += --disable-armv5e
Signature · 1 line
2.0.0
#26 lore raw

PATCH 16/31 webkit: use BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

The webkit package is not available on ARM < v5, so this commit switches to using the newly introduced BR2_ARM_CPU_ARM* options instead of per ARM core options.

---
 package/webkit/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/webkit/Config.in +1 -1
index d1bc1d5..054b818 100644
@@ -2,7 +2,7 @@ config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
 	bool
 	# ARM needs BLX, so v5t+
 	default y if (BR2_arm || BR2_armeb) && \
-		!(BR2_arm920t || BR2_arm922t || BR2_fa526)
+		!BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	default y if BR2_i386 || BR2_mips || BR2_mipsel || \
 		BR2_sparc || BR2_x86_64
 	depends on BR2_USE_MMU # libgail -> pango -> libglib2
Signature · 1 line
2.0.0
#27 lore raw

PATCH 17/31 valgrind: use the BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Instead of using the exhaustive list of Cortex-A ARM cores, use BR2_ARM_CPU_ARMV7A instead. We also fix a wrong comment that said the Valgrind package could only be selected for Cortex-A8 and Cortex-A9, which was true a long time ago, but was no longer true since it was also enabled for all the other Cortex-A platforms.

---
 package/valgrind/Config.in   | 7 +++----
 package/valgrind/valgrind.mk | 4 ++--
 2 files changed, 5 insertions(+), 6 deletions(-)
package/valgrind/Config.in +3 -4
index 253555b..b7521b0 100644
@@ -1,9 +1,8 @@
 config BR2_PACKAGE_VALGRIND
 	bool "valgrind"
-	depends on BR2_i386 || BR2_x86_64 || BR2_cortex_a5 || \
-		   BR2_cortex_a7 || BR2_cortex_a8 || BR2_cortex_a9 || \
-		   BR2_cortex_a12 || BR2_cortex_a15 || BR2_powerpc || \
-		   BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
+	depends on BR2_i386 || BR2_x86_64 || BR2_ARM_CPU_ARMV7A || \
+		   BR2_powerpc || BR2_mips || BR2_mipsel || BR2_mips64 || \
+		   BR2_mips64el
 	help
 	  Tool for debugging and profiling Linux programs.
 
package/valgrind/valgrind.mk +2 -2
index 9b79941..b65e048 100644
@@ -16,8 +16,8 @@ VALGRIND_AUTORECONF = YES
 # host tuple to determine whether it's being built for ARMv7 or
 # not. Therefore, we adjust the host tuple to specify we're on
 # ARMv7. The valgrind package is guaranteed, through Config.in, to
-# only be selected on Cortex A8 and Cortex A9 platforms.
-ifeq ($(BR2_cortex_a5)$(BR2_cortex_a7)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a12)$(BR2_cortex_a15),y)
+# only be selected on ARMv7-A platforms.
+ifeq ($(BR2_ARM_CPU_ARMV7A),y)
 VALGRIND_CONF_OPTS += \
 	--host=$(patsubst arm-%,armv7-%,$(GNU_TARGET_NAME))
 endif
Signature · 1 line
2.0.0
#28 lore raw

PATCH 18/31 x264: use the BR2_ARM_CPU_ARMV7A option

In reply to Thomas Petazzoni
---
 package/x264/x264.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/x264/x264.mk +1 -1
index ac8fe94..1846f04 100644
@@ -14,7 +14,7 @@ X264_INSTALL_STAGING = YES
 
 ifeq ($(BR2_i386)$(BR2_x86_64),y)
 X264_DEPENDENCIES += host-yasm
-else ifeq ($(BR2_cortex_a5)$(BR2_cortex_a7)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a12)$(BR2_cortex_a15),y)
+else ifeq ($(BR2_ARM_CPU_ARMV7A),y)
 # We need to pass gcc as AS, because the ARM assembly files have to be
 # preprocessed
 X264_CONF_ENV += AS="$(TARGET_CC)"
Signature · 1 line
2.0.0
#29 lore raw

PATCH 19/31 libnspr: use the BR2_ARM_CPU_ARMV7A option

In reply to Thomas Petazzoni

The libnspr --enable-thumb2 option was only enabled on Cortex-A8 and Cortex-A9. This commit switches ot using BR2_ARM_CPU_ARMV7A instead, which will allow using Thumb2 for this package even with the other Cortex-A cores.

---
 package/libnspr/libnspr.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libnspr/libnspr.mk +1 -1
index eaa6eb7..537caa6 100644
@@ -22,7 +22,7 @@ LIBNSPR_CONF_OPTS += --$(if $(BR2_ARCH_IS_64),en,dis)able-64bit
 LIBNSPR_CONF_OPTS += --$(if $(BR2_INET_IPV6),en,dis)able-ipv6
 
 ifeq ($(BR2_arm),y)
-ifeq ($(BR2_cortex_a8)$(BR2_cortex_a9),y)
+ifeq ($(BR2_ARM_CPU_ARMV7A),y)
 LIBNSPR_CONF_OPTS += --enable-thumb2
 else
 LIBNSPR_CONF_OPTS += --disable-thumb2
Signature · 1 line
2.0.0
#30 lore raw

PATCH 20/31 toolchain-external: use BR2_ARM_CPU_ARM* options

In reply to Thomas Petazzoni

Refactor the toolchain-external Config.in file to use the BR2_ARM_CPU_ARM*. All of the changes are purely mechanical, except for the Arago ARMv5 toolchain: it had a 'depends on BR2_GCC_TARGET_ARCH != "armv5t"', but armv5t was not a possible value for BR2_GCC_TARGET_ARCH. Since the toolchain is ARMv5TE, the only ARM architectures we need to exclude are ARMv4 and ARMv4T.

---
 toolchain/toolchain-external/Config.in | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
toolchain/toolchain-external/Config.in +6 -8
index c74388f..c16d742 100644
@@ -9,7 +9,7 @@ comment "(e)glibc toolchains only available with shared lib support"
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
 	bool "Linaro ARM 2014.08"
 	depends on BR2_arm
-	depends on BR2_GCC_TARGET_ARCH = "armv7-a"
+	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on BR2_ARM_EABIHF
 	depends on !BR2_PREFER_STATIC_LIB
@@ -29,13 +29,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
 
 comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on BR2_arm
-	depends on BR2_GCC_TARGET_ARCH != "armv7-a" || !BR2_ARM_EABIHF
+	depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
 	depends on !BR2_PREFER_STATIC_LIB
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
 	bool "Linaro armeb 2014.08"
 	depends on BR2_armeb
-	depends on BR2_GCC_TARGET_ARCH = "armv7-a"
+	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on BR2_ARM_EABIHF
 	depends on !BR2_PREFER_STATIC_LIB
@@ -55,7 +55,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
 
 comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on BR2_armeb
-	depends on BR2_GCC_TARGET_ARCH != "armv7-a" || !BR2_ARM_EABIHF
+	depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
 	depends on !BR2_PREFER_STATIC_LIB
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405
@@ -151,7 +151,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
 	bool "Arago ARMv7 2011.09"
 	depends on BR2_arm
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_GCC_TARGET_ARCH = "armv7-a"
+	depends on BR2_ARM_CPU_ARMV7A
 	depends on BR2_ARM_EABI
 	depends on BR2_ARM_CPU_HAS_VFPV3 || BR2_ARM_CPU_MAYBE_HAS_VFPV3
 	depends on !BR2_PREFER_STATIC_LIB
@@ -174,9 +174,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
 	bool "Arago ARMv5 2011.09"
 	depends on BR2_arm
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_GCC_TARGET_ARCH != "armv4t" && \
-		BR2_GCC_TARGET_ARCH != "armv4" && \
-		BR2_GCC_TARGET_ARCH != "armv5t"
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV4T
 	depends on BR2_ARM_EABI
 	depends on !BR2_PREFER_STATIC_LIB
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Signature · 1 line
2.0.0
#31 lore raw

PATCH 21/31 dhcpcd: do not pass --target option

In reply to Thomas Petazzoni

dhcpcd is using $(BR2_GCC_TARGET_ARCH) as the value of its --target option. However, depending on the architecture, this value might be empty.

After inspecting the dhcpcd configure script, it turns out that in fact the --target option has the following semantic:

--target=TARGET configure for building compilers for TARGET [HOST]

So it is very much like the --target option of regular, autoconf-based, configure scripts. Since dhcpcd is not a compiler, passing --target is pointless. Moreover, as long as --os=linux is passed, passing --host or --target is completely ignored by the configure script.

---
 package/dhcpcd/dhcpcd.mk | 1 -
 1 file changed, 1 deletion(-)
package/dhcpcd/dhcpcd.mk +0 -1
index f4b821a..3bb7a13 100644
@@ -25,7 +25,6 @@ endif
 define DHCPCD_CONFIGURE_CMDS
 	(cd $(@D); \
 	$(TARGET_CONFIGURE_OPTS) ./configure \
-		--target=$(BR2_GCC_TARGET_ARCH) \
 		--os=linux \
 		$(DHCPCD_CONFIG_OPTS) )
 endef
Signature · 1 line
2.0.0
#32 lore raw

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

In reply to Thomas Petazzoni

In commit 88cf3bb91792c9c04586e14f293d89a6e0c13e1d ("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 88cf3bb91792c9c04586e14f293d89a6e0c13e1d 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.

Cc Beno?t Th?baudeau <[email protected]>
---
 arch/Config.in.arm | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)
arch/Config.in.arm +3 -14
index d2ba924..96c4bc0 100644
@@ -77,14 +77,8 @@ config BR2_arm926t
 	bool "arm926t"
 	select BR2_ARM_CPU_MAYBE_HAS_VFPV2
 	select BR2_ARM_CPU_HAS_THUMB
-	select BR2_ARM_CPU_ARMV5TEJ
-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_ARMV6J
-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_ARMV6J
@@ -152,10 +146,6 @@ config BR2_iwmmxt
 	select BR2_ARM_CPU_ARMV5TE
 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
@@ -403,8 +393,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
Signature · 1 line
2.0.0
#33 lore raw

PATCH 23/31 arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM

In reply to Thomas Petazzoni

On ARM, we were defining both the CPU type and the architecture variant. However, depending on the version of gcc, a given combination of (CPU, architecture) may not be the same. Since the architecture variant is implied by the CPU type, given the former is not necessary, and we can simply specify the latter.

From the gcc documentation:

This specifies the name of the target ARM processor. GCC uses this name to derive the name of the target ARM architecture (as if specified by -march) and the ARM processor type for which to tune for performance (as if specified by -mtune). Where this option is used in conjunction with -march or -mtune, those options take precedence over the appropriate part of this option.

Note that we verified that for all BR2_GCC_TARGET_ARCH value that existed, a proper BR2_GCC_TARGET_CPU value is defined.

---
 arch/Config.in.arm | 19 -------------------
 1 file changed, 19 deletions(-)
arch/Config.in.arm +0 -19
index 96c4bc0..385ce77 100644
@@ -389,25 +389,6 @@ config BR2_GCC_TARGET_CPU
 	default "xscale"	if BR2_xscale
 	default "iwmmxt"	if BR2_iwmmxt
 
-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
-	default "armv6zk"	if BR2_arm1176jz_s
-	default "armv6zk"	if BR2_arm1176jzf_s
-	default "armv7-a"	if BR2_cortex_a5
-	default "armv7-a"	if BR2_cortex_a7
-	default "armv7-a"	if BR2_cortex_a8
-	default "armv7-a"	if BR2_cortex_a9
-	default "armv7-a"	if BR2_cortex_a12
-	default "armv7-a"	if BR2_cortex_a15
-	default "armv4"		if BR2_fa526
-	default "armv7-a"	if BR2_pj4
-	default "armv4"		if BR2_strongarm
-	default "armv5te"	if BR2_xscale
-	default "iwmmxt"	if BR2_iwmmxt
-
 config BR2_GCC_TARGET_ABI
 	default "aapcs-linux"
 
Signature · 1 line
2.0.0
#34 lore raw

PATCH 24/31 ffmpeg: use arch and cpu instead of tune

In reply to Thomas Petazzoni

ffmpeg currently uses BR2_GCC_TARGET_TUNE as the --cpu option value. However, there are multiple architectures for which BR2_GCC_TARGET_TUNE is not used. After inspecting the ffmpeg configure script, we concluded that using the BR2_GCC_TARGET_CPU value if available, or the BR2_GCC_TARGET_ARCH value as a fallback was the appropriate behavior.

This allows to remove the reference to BR2_GCC_TARGET_TUNE, which is one step towards the removal of this option.

---
 package/ffmpeg/ffmpeg.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +6 -1
index a3865f3..6c8b899 100644
@@ -334,6 +334,12 @@ endif
 
 FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF))
 
+ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
+FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
+else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH),)
+FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
+endif
+
 # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
 define FFMPEG_CONFIGURE_CMDS
 	(cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \
@@ -349,7 +355,6 @@ define FFMPEG_CONFIGURE_CMDS
 		--target-os="linux" \
 		--disable-stripping \
 		--pkg-config="$(PKG_CONFIG_HOST_BINARY)" \
-		$(if $(BR2_GCC_TARGET_TUNE),--cpu=$(BR2_GCC_TARGET_TUNE)) \
 		$(SHARED_STATIC_LIBS_OPTS) \
 		$(FFMPEG_CONF_OPTS) \
 	)
Signature · 1 line
2.0.0
#35 lore raw

PATCH 24/31 ffmpeg: use arch and cpu instead of tune

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 11 lines

ffmpeg currently uses BR2_GCC_TARGET_TUNE as the --cpu option value. However, there are multiple architectures for which BR2_GCC_TARGET_TUNE is not used. After inspecting the ffmpeg configure script, we concluded that using the BR2_GCC_TARGET_CPU value if available, or the BR2_GCC_TARGET_ARCH value as a fallback was the appropriate behavior.

This allows to remove the reference to BR2_GCC_TARGET_TUNE, which is one step towards the removal of this option.

Regards,
Yann E. MORIN.

Quoted 36 lines
---
 package/ffmpeg/ffmpeg.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +6 -1
index a3865f3..6c8b899 100644
@@ -334,6 +334,12 @@ endif
 
 FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF))
 
+ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
+FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
+else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH),)
+FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
+endif
+
 # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
 define FFMPEG_CONFIGURE_CMDS
 	(cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \
@@ -349,7 +355,6 @@ define FFMPEG_CONFIGURE_CMDS
 		--target-os="linux" \
 		--disable-stripping \
 		--pkg-config="$(PKG_CONFIG_HOST_BINARY)" \
-		$(if $(BR2_GCC_TARGET_TUNE),--cpu=$(BR2_GCC_TARGET_TUNE)) \
 		$(SHARED_STATIC_LIBS_OPTS) \
 		$(FFMPEG_CONF_OPTS) \
 	)
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#36 lore raw

PATCH 25/31 arch/x86: get rid of BR2_GCC_TARGET_TUNE

In reply to Thomas Petazzoni

According to the gcc documentation, -march implies -mtune on x86, so defining both BR2_GCC_TARGET_ARCH and BR2_GCC_TARGET_TUNE is redundant. Therefore, this commit removes the definition of BR2_GCC_TARGET_TUNE on x86.

However, while doing so, it adds one new case for BR2_GCC_TARGET_ARCH:
using -march=generic when BR2_x86_generic is selected.

---
 arch/Config.in.x86 | 32 +-------------------------------
 1 file changed, 1 insertion(+), 31 deletions(-)
arch/Config.in.x86 +1 -31
index 9aa4ea2..0b7919b 100644
@@ -205,37 +205,6 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y if !BR2_x86_i386
 
-config BR2_GCC_TARGET_TUNE
-	default "i386"		if BR2_x86_i386
-	default "i486"		if BR2_x86_i486
-	default "i586"		if BR2_x86_i586
-	default "pentium-mmx"	if BR2_x86_pentium_mmx
-	default "i686"		if BR2_x86_i686
-	default "pentiumpro"	if BR2_x86_pentiumpro
-	default "pentium-m"	if BR2_x86_pentium_m
-	default "pentium2"	if BR2_x86_pentium2
-	default "pentium3"	if BR2_x86_pentium3
-	default "pentium4"	if BR2_x86_pentium4
-	default "prescott"	if BR2_x86_prescott
-	default "nocona"	if BR2_x86_nocona
-	default "core2"		if BR2_x86_core2
-	default "corei7"	if BR2_x86_corei7
-	default "atom"		if BR2_x86_atom
-	default "k8"		if BR2_x86_opteron
-	default "k8-sse3"	if BR2_x86_opteron_sse3
-	default "barcelona"	if BR2_x86_barcelona
-	default "btver2"	if BR2_x86_jaguar
-	default "k6"		if BR2_x86_k6
-	default "k6-2"		if BR2_x86_k6_2
-	default "athlon"	if BR2_x86_athlon
-	default "athlon-4"	if BR2_x86_athlon_4
-	default "winchip-c6"	if BR2_x86_winchip_c6
-	default "winchip2"	if BR2_x86_winchip2
-	default "c3"		if BR2_x86_c3
-	default "c3-2"		if BR2_x86_c32
-	default "geode"		if BR2_x86_geode
-	default "generic"	if BR2_x86_generic
-
 config BR2_GCC_TARGET_ARCH
 	default "i386"		if BR2_x86_i386
 	default "i486"		if BR2_x86_i486
@@ -265,3 +234,4 @@ config BR2_GCC_TARGET_ARCH
 	default "c3"		if BR2_x86_c3
 	default "c3-2"		if BR2_x86_c32
 	default "geode"		if BR2_x86_geode
+	default "generic"	if BR2_x86_generic
Signature · 1 line
2.0.0
#37 lore raw

PATCH 25/31 arch/x86: get rid of BR2_GCC_TARGET_TUNE

Thomas, All,

On 2014-10-19 22:07 +0200, Thomas Petazzoni spake thusly:

Quoted 9 lines

According to the gcc documentation, -march implies -mtune on x86, so defining both BR2_GCC_TARGET_ARCH and BR2_GCC_TARGET_TUNE is redundant. Therefore, this commit removes the definition of BR2_GCC_TARGET_TUNE on x86.

However, while doing so, it adds one new case for BR2_GCC_TARGET_ARCH:
using -march=generic when BR2_x86_generic is selected.

Regards,
Yann E. MORIN.

Quoted 58 lines
---
 arch/Config.in.x86 | 32 +-------------------------------
 1 file changed, 1 insertion(+), 31 deletions(-)
arch/Config.in.x86 +1 -31
index 9aa4ea2..0b7919b 100644
@@ -205,37 +205,6 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y if !BR2_x86_i386
 
-config BR2_GCC_TARGET_TUNE
-	default "i386"		if BR2_x86_i386
-	default "i486"		if BR2_x86_i486
-	default "i586"		if BR2_x86_i586
-	default "pentium-mmx"	if BR2_x86_pentium_mmx
-	default "i686"		if BR2_x86_i686
-	default "pentiumpro"	if BR2_x86_pentiumpro
-	default "pentium-m"	if BR2_x86_pentium_m
-	default "pentium2"	if BR2_x86_pentium2
-	default "pentium3"	if BR2_x86_pentium3
-	default "pentium4"	if BR2_x86_pentium4
-	default "prescott"	if BR2_x86_prescott
-	default "nocona"	if BR2_x86_nocona
-	default "core2"		if BR2_x86_core2
-	default "corei7"	if BR2_x86_corei7
-	default "atom"		if BR2_x86_atom
-	default "k8"		if BR2_x86_opteron
-	default "k8-sse3"	if BR2_x86_opteron_sse3
-	default "barcelona"	if BR2_x86_barcelona
-	default "btver2"	if BR2_x86_jaguar
-	default "k6"		if BR2_x86_k6
-	default "k6-2"		if BR2_x86_k6_2
-	default "athlon"	if BR2_x86_athlon
-	default "athlon-4"	if BR2_x86_athlon_4
-	default "winchip-c6"	if BR2_x86_winchip_c6
-	default "winchip2"	if BR2_x86_winchip2
-	default "c3"		if BR2_x86_c3
-	default "c3-2"		if BR2_x86_c32
-	default "geode"		if BR2_x86_geode
-	default "generic"	if BR2_x86_generic
-
 config BR2_GCC_TARGET_ARCH
 	default "i386"		if BR2_x86_i386
 	default "i486"		if BR2_x86_i486
@@ -265,3 +234,4 @@ config BR2_GCC_TARGET_ARCH
 	default "c3"		if BR2_x86_c3
 	default "c3-2"		if BR2_x86_c32
 	default "geode"		if BR2_x86_geode
+	default "generic"	if BR2_x86_generic
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#38 lore raw

PATCH 26/31 arch/sparc: get rid of BR2_GCC_TARGET_TUNE

In reply to Thomas Petazzoni

On SPARC, BR2_GCC_TARGET_TUNE was only used for one specific case, the BR2_sparc_v8. There is actually no reason to not use BR2_GCC_TARGET_CPU instead for this, as all values supported for -mtune are also supported for -mcpu. Therefore, the only BR2_GCC_TARGET_TUNE case is moved as a BR2_GCC_TARGET_CPU case.

---
 arch/Config.in.sparc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/Config.in.sparc +1 -3
index 657c825..19907b9 100644
@@ -26,10 +26,8 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
-	default "v8"		if BR2_sparc_v8
-
 config BR2_GCC_TARGET_CPU
+	default "v8"		if BR2_sparc_v8
 	default "sparchfleon"	if BR2_sparc_sparchfleon
 	default "sparchfleonv8"	if BR2_sparc_sparchfleonv8
 	default "sparcsfleon"	if BR2_sparc_sparcsfleon
Signature · 1 line
2.0.0
#39 lore raw

PATCH 26/31 arch/sparc: get rid of BR2_GCC_TARGET_TUNE

Thomas, All,

On 2014-10-19 22:08 +0200, Thomas Petazzoni spake thusly:

Quoted 7 lines

On SPARC, BR2_GCC_TARGET_TUNE was only used for one specific case, the BR2_sparc_v8. There is actually no reason to not use BR2_GCC_TARGET_CPU instead for this, as all values supported for -mtune are also supported for -mcpu. Therefore, the only BR2_GCC_TARGET_TUNE case is moved as a BR2_GCC_TARGET_CPU case.

Regards,
Yann E. MORIN.

Quoted 27 lines
---
 arch/Config.in.sparc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/Config.in.sparc +1 -3
index 657c825..19907b9 100644
@@ -26,10 +26,8 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
-	default "v8"		if BR2_sparc_v8
-
 config BR2_GCC_TARGET_CPU
+	default "v8"		if BR2_sparc_v8
 	default "sparchfleon"	if BR2_sparc_sparchfleon
 	default "sparchfleonv8"	if BR2_sparc_sparchfleonv8
 	default "sparcsfleon"	if BR2_sparc_sparcsfleon
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#40 lore raw

PATCH 27/31 arch/powerpc: get rid of BR2_GCC_TARGET_TUNE

In reply to Thomas Petazzoni

According to the gcc documentation for PowerPC options:

'-mtune=CPU_TYPE'
Set the instruction scheduling parameters for machine type CPU_TYPE, but do not set the architecture type, register usage, or choice of mnemonics, as '-mcpu=CPU_TYPE' would. The same values for CPU_TYPE are used for '-mtune' as for '-mcpu'. If both are specified, the code generated will use the architecture, registers, and mnemonics set by '-mcpu', but the scheduling parameters set by '-mtune'.

In the case of Buildroot where we only target a specific system, using -mtune therefore doesn't make much sense, and using -mcpu would be more appropriate. As a consequence, this patch makes PowerPC use BR2_GCC_TARGET_CPU instead of BR2_GCC_TARGET_TUNE.

---
 arch/Config.in.powerpc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/Config.in.powerpc +1 -1
index 239f5dc..fabee9f 100644
@@ -160,7 +160,7 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
+config BR2_GCC_TARGET_CPU
 	default "401"		if BR2_powerpc_401
 	default "403"		if BR2_powerpc_403
 	default "405"		if BR2_powerpc_405
Signature · 1 line
2.0.0
#41 lore raw

PATCH 27/31 arch/powerpc: get rid of BR2_GCC_TARGET_TUNE

Thomas, All,

On 2014-10-19 22:08 +0200, Thomas Petazzoni spake thusly:

Quoted 11 lines

According to the gcc documentation for PowerPC options:

'-mtune=CPU_TYPE'
Set the instruction scheduling parameters for machine type CPU_TYPE, but do not set the architecture type, register usage, or choice of mnemonics, as '-mcpu=CPU_TYPE' would. The same values for CPU_TYPE are used for '-mtune' as for '-mcpu'. If both are specified, the code generated will use the architecture, registers, and mnemonics set by '-mcpu', but the scheduling parameters set by '-mtune'.

Quoted 6 lines

In the case of Buildroot where we only target a specific system, using -mtune therefore doesn't make much sense, and using -mcpu would be more appropriate. As a consequence, this patch makes PowerPC use BR2_GCC_TARGET_CPU instead of BR2_GCC_TARGET_TUNE.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 arch/Config.in.powerpc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/Config.in.powerpc +1 -1
index 239f5dc..fabee9f 100644
@@ -160,7 +160,7 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
+config BR2_GCC_TARGET_CPU
 	default "401"		if BR2_powerpc_401
 	default "403"		if BR2_powerpc_403
 	default "405"		if BR2_powerpc_405
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#42 lore raw

PATCH 28/31 arch/m68k: get rid of BR2_GCC_TARGET_TUNE

In reply to Thomas Petazzoni

On m68k, we are passing the exact same values of BR2_GCC_TARGET_ARCH and BR2_GCC_TARGET_TUNE, which is redundant. Therefore, this commit removes the usage of BR2_GCC_TARGET_TUNE on m68k.

---
 arch/Config.in.m68k | 8 --------
 1 file changed, 8 deletions(-)
arch/Config.in.m68k +0 -8
index 6b79307..6b868a1 100644
@@ -7,14 +7,6 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
-	default "68000"		if BR2_m68k_68000
-	default "68010"		if BR2_m68k_68010
-	default "68020"		if BR2_m68k_68020
-	default "68030"		if BR2_m68k_68030
-	default "68040"		if BR2_m68k_68040
-	default "68060"		if BR2_m68k_68060
-
 config BR2_GCC_TARGET_ARCH
 	default "68000"		if BR2_m68k_68000
 	default "68010"		if BR2_m68k_68010
Signature · 1 line
2.0.0
#43 lore raw

PATCH 28/31 arch/m68k: get rid of BR2_GCC_TARGET_TUNE

Thomas, All,

On 2014-10-19 22:08 +0200, Thomas Petazzoni spake thusly:

Quoted 5 lines

On m68k, we are passing the exact same values of BR2_GCC_TARGET_ARCH and BR2_GCC_TARGET_TUNE, which is redundant. Therefore, this commit removes the usage of BR2_GCC_TARGET_TUNE on m68k.

Regards,
Yann E. MORIN.

Quoted 30 lines
---
 arch/Config.in.m68k | 8 --------
 1 file changed, 8 deletions(-)
arch/Config.in.m68k +0 -8
index 6b79307..6b868a1 100644
@@ -7,14 +7,6 @@ config BR2_ENDIAN
 config BR2_ARCH_HAS_ATOMICS
 	default y
 
-config BR2_GCC_TARGET_TUNE
-	default "68000"		if BR2_m68k_68000
-	default "68010"		if BR2_m68k_68010
-	default "68020"		if BR2_m68k_68020
-	default "68030"		if BR2_m68k_68030
-	default "68040"		if BR2_m68k_68040
-	default "68060"		if BR2_m68k_68060
-
 config BR2_GCC_TARGET_ARCH
 	default "68000"		if BR2_m68k_68000
 	default "68010"		if BR2_m68k_68010
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#44 lore raw

PATCH 29/31 gcc: do not use BR2_GCC_TARGET_TUNE anymore

In reply to Thomas Petazzoni

Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no longer a point in using it in the gcc package.

---
 package/gcc/gcc.mk | 3 ---
 1 file changed, 3 deletions(-)
package/gcc/gcc.mk +0 -3
index 7bed159..f5ec96a 100644
@@ -174,9 +174,6 @@ endif
 ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
 HOST_GCC_COMMON_CONF_OPTS += --with-arch=$(BR2_GCC_TARGET_ARCH)
 endif
-ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),)
-HOST_GCC_COMMON_CONF_OPTS += --with-tune=$(BR2_GCC_TARGET_TUNE)
-endif
 ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),)
 HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI)
 endif
Signature · 1 line
2.0.0
#45 lore raw

PATCH 29/31 gcc: do not use BR2_GCC_TARGET_TUNE anymore

Thomas, All,

On 2014-10-19 22:08 +0200, Thomas Petazzoni spake thusly:

Quoted 4 lines

Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no longer a point in using it in the gcc package.

Regards,
Yann E. MORIN.

Quoted 25 lines
---
 package/gcc/gcc.mk | 3 ---
 1 file changed, 3 deletions(-)
package/gcc/gcc.mk +0 -3
index 7bed159..f5ec96a 100644
@@ -174,9 +174,6 @@ endif
 ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
 HOST_GCC_COMMON_CONF_OPTS += --with-arch=$(BR2_GCC_TARGET_ARCH)
 endif
-ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),)
-HOST_GCC_COMMON_CONF_OPTS += --with-tune=$(BR2_GCC_TARGET_TUNE)
-endif
 ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),)
 HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI)
 endif
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#46 lore raw

PATCH 30/31 toolchain-external: do not use BR2_GCC_TARGET_TUNE anymore

In reply to Thomas Petazzoni

Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no longer a point in using it in the external toolchain logic.

---
 toolchain/toolchain-external/ext-toolchain-wrapper.c | 12 +++---------
 toolchain/toolchain-external/toolchain-external.mk   |  5 -----
 2 files changed, 3 insertions(+), 14 deletions(-)
toolchain/toolchain-external/ext-toolchain-wrapper.c +3 -9
index 8db4ac4..f459a7e 100644
@@ -33,10 +33,9 @@ static char sysroot[PATH_MAX];
  * Currently, we have:
  * 	-mfloat-abi=
  * 	-march=
- * 	-mtune=
  * 	-mcpu=
  */
-#define EXCLUSIVE_ARGS	4
+#define EXCLUSIVE_ARGS	3
 
 static char *predef_args[] = {
 	path,
@@ -154,14 +153,12 @@ int main(int argc, char **argv)
 #endif
 
 #if defined(BR_ARCH) || \
-    defined(BR_TUNE) || \
     defined(BR_CPU)
-	/* Add our -march/cpu/tune/abi flags, but only if none are
+	/* Add our -march/cpu/abi flags, but only if none are
 	 * already specified on the commandline
 	 */
 	for (i = 1; i < argc; i++) {
 		if (!strncmp(argv[i], "-march=", strlen("-march=")) ||
-		    !strncmp(argv[i], "-mtune=", strlen("-mtune=")) ||
 		    !strncmp(argv[i], "-mcpu=",  strlen("-mcpu=" )))
 			break;
 	}
@@ -169,14 +166,11 @@ int main(int argc, char **argv)
 #ifdef BR_ARCH
 		*cur++ = "-march=" BR_ARCH;
 #endif
-#ifdef BR_TUNE
-		*cur++ = "-mtune=" BR_TUNE;
-#endif
 #ifdef BR_CPU
 		*cur++ = "-mcpu=" BR_CPU;
 #endif
 	}
-#endif /* ARCH || TUNE || CPU */
+#endif /* ARCH || CPU */
 
 	/* append forward args */
 	memcpy(cur, &argv[1], sizeof(char *) * (argc - 1));
toolchain/toolchain-external/toolchain-external.mk +0 -5
index b7a0e60..e16fce5 100644
@@ -163,7 +163,6 @@ TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += \
 	-DBR_CROSS_PATH_REL='"$(TOOLCHAIN_EXTERNAL_BIN:$(HOST_DIR)/%=%)"'
 endif
 
-CC_TARGET_TUNE_ := $(call qstrip,$(BR2_GCC_TARGET_TUNE))
 ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),)
 CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU))
 else
@@ -181,10 +180,6 @@ ifeq ($(BR2_x86_64),y)
 TOOLCHAIN_EXTERNAL_CFLAGS += -m64
 TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_64
 endif
-ifneq ($(CC_TARGET_TUNE_),)
-TOOLCHAIN_EXTERNAL_CFLAGS += -mtune=$(CC_TARGET_TUNE_)
-TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_TUNE='"$(CC_TARGET_TUNE_)"'
-endif
 ifneq ($(CC_TARGET_ARCH_),)
 TOOLCHAIN_EXTERNAL_CFLAGS += -march=$(CC_TARGET_ARCH_)
 TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_ARCH='"$(CC_TARGET_ARCH_)"'
Signature · 1 line
2.0.0
#47 lore raw

PATCH 31/31 arch: remove the BR2_GCC_TARGET_TUNE option

In reply to Thomas Petazzoni

The BR2_GCC_TARGET_TUNE option is now unused, so we can get rid of it.

---
 arch/Config.in | 3 ---
 1 file changed, 3 deletions(-)
arch/Config.in +0 -3
index 1126d43..d62d887 100644
@@ -217,9 +217,6 @@ config BR2_ARCH
 config BR2_ENDIAN
 	string
 
-config BR2_GCC_TARGET_TUNE
-	string
-
 config BR2_GCC_TARGET_ARCH
 	string
 
Signature · 1 line
2.0.0