* [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates
@ 2014-10-21 20:26 Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
` (32 more replies)
0 siblings, 33 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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 introduces a number of ARM architecture blind options:
BR2_ARM_CPU_ARMV4, BR2_ARM_CPU_ARMV5, BR2_ARM_CPU_ARMV6,
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 2 to 19 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 20 fixes the dhcpcd package as it uses the
BR2_GCC_TARGET_ARCH value, which may not always exists on certain
architectures.
- PATCH 21 and 22 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 23 prepares ffmpeg for the removal of BR2_GCC_TARGET_TUNE by
using BR2_GCC_TARGET_ARCH or BR2_GCC_TARGET_CPU instead.
- PATCH 24 to 27 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 28 to 30 finally get rid of BR2_GCC_TARGET_TUNE entirely
since it is no longer used.
Changes since v1:
* Instead of having multiple BR2_ARM_CPU_ARMV{4,4T,5TE,etc.} per
architecture level, use only one. All the follow-up patches have
been fixed up following this.
* Add a patch to take into account the bug noticed by Arnout about
VFP enabling in the ffmpeg package.
* Remove the two patches that have been merged.
* Add Reviewed-by tags from Yann on a certain number of patches, as
he gave them on the list.
Note that I haven't done any modification of the Thumb / Thumb-2
handling suggested by Yann. This is orthogonal to this series, and can
be done in a follow-up series.
Best regards,
Thomas
Thomas Petazzoni (30):
arch/arm: add blind options to know the ARM architecture
ffmpeg: use the new BR2_ARM_CPU_ARM* options
ffmpeg: fix ARM condition for --{enable,disable}-vfp
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 | 61 +++++++++++-----------
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 | 3 +-
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 | 3 +-
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, 74 insertions(+), 132 deletions(-)
--
2.0.0
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 21:06 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (31 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
arch/Config.in.arm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 201ff1d..5441c8d 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -37,6 +37,18 @@ config BR2_ARM_CPU_HAS_THUMB
config BR2_ARM_CPU_HAS_THUMB2
bool
+config BR2_ARM_CPU_ARMV4
+ bool
+
+config BR2_ARM_CPU_ARMV5
+ bool
+
+config BR2_ARM_CPU_ARMV6
+ bool
+
+config BR2_ARM_CPU_ARMV7A
+ bool
+
choice
prompt "Target Architecture Variant"
depends on BR2_arm || BR2_armeb
@@ -47,70 +59,88 @@ choice
config BR2_arm920t
bool "arm920t"
select BR2_ARM_CPU_HAS_THUMB
+ select BR2_ARM_CPU_ARMV4
config BR2_arm922t
bool "arm922t"
select BR2_ARM_CPU_HAS_THUMB
+ select BR2_ARM_CPU_ARMV4
config BR2_arm926t
bool "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"
select BR2_ARM_CPU_HAS_VFPV2
select BR2_ARM_CPU_HAS_THUMB
+ select BR2_ARM_CPU_ARMV6
config BR2_arm1176jz_s
bool "arm1176jz-s"
select BR2_ARM_CPU_HAS_THUMB
+ select BR2_ARM_CPU_ARMV6
config BR2_arm1176jzf_s
bool "arm1176jzf-s"
select BR2_ARM_CPU_HAS_VFPV2
select BR2_ARM_CPU_HAS_THUMB
+ select BR2_ARM_CPU_ARMV6
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_ARMV5
config BR2_iwmmxt
bool "iwmmxt"
+ select BR2_ARM_CPU_ARMV5
endchoice
config BR2_arm1136jf_s
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 21:09 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp Thomas Petazzoni
` (30 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
This commit is a blind conversion from the per-core options to the
per-architecture. It has the benefit of enabling the ARMv6
optimizations on all ARMv7-A cores, not only A5, A8, A9 and
A15. However, it doesn't fix the condition for
--enable-vfp/--disable-vfp for ARMv6 cores that don't have a FPU, it
is fixed in a follow-up commit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/ffmpeg/ffmpeg.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 21ec1c9..349bac9 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -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),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_ARMV6)$(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_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
FFMPEG_CONF_OPTS += --enable-vfp
else
FFMPEG_CONF_OPTS += --disable-vfp
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 21:15 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (29 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
As noted by Arnout, not all ARMv6 have the VFP FPU, therefore instead
of using a condition on ARMv6 or ARMv7-A, this commit changes to use a
condition on BR2_ARM_CPU_HAS_VFPV2.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/ffmpeg/ffmpeg.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 349bac9..0990f18 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -285,7 +285,7 @@ FFMPEG_CONF_OPTS += --enable-armv6
else
FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
endif
-ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
+ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y)
FFMPEG_CONF_OPTS += --enable-vfp
else
FFMPEG_CONF_OPTS += --disable-vfp
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (2 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 21:18 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
` (28 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
index b94fb0f..5e55363 100644
--- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
+++ b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
@@ -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),y)
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
+ifeq ($(BR2_ARM_CPU_ARMV6),y)
GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
else
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (3 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 21:24 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 06/30] gst1-libav: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (27 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
index 5e55363..59b9323 100644
--- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
+++ b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
@@ -54,7 +54,7 @@ endif
ifeq ($(BR2_ARM_CPU_ARMV4),y)
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
endif
-ifeq ($(BR2_ARM_CPU_ARMV6),y)
+ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
else
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 06/30] gst1-libav: use the new BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (4 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 07/30] gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
` (26 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/gstreamer1/gst1-libav/gst1-libav.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
index 6fdf091..6018504 100644
--- a/package/gstreamer1/gst1-libav/gst1-libav.mk
+++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
@@ -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),y)
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
endif
-ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
+ifeq ($(BR2_ARM_CPU_ARMV6),y)
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
else
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 07/30] gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (5 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 06/30] gst1-libav: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (25 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
index 6018504..1772530 100644
--- a/package/gstreamer1/gst1-libav/gst1-libav.mk
+++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
@@ -52,7 +52,7 @@ endif
ifeq ($(BR2_ARM_CPU_ARMV4),y)
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
endif
-ifeq ($(BR2_ARM_CPU_ARMV6),y)
+ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
else
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (6 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 07/30] gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-11-06 22:33 ` Peter Korsgaard
2014-10-21 20:26 ` [Buildroot] [PATCH v2 09/30] libplayer: use BR2_ARM_CPU_ARM* option Thomas Petazzoni
` (24 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/mplayer/Config.in | 3 +--
package/mplayer/mplayer.mk | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in
index 8b5d05e..6b97aeb 100644
--- a/package/mplayer/Config.in
+++ b/package/mplayer/Config.in
@@ -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
depends on BR2_LARGEFILE
help
MPlayer is a movie player which runs on many systems and supports
diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk
index 0c216d7..ee023b4 100644
--- a/package/mplayer/mplayer.mk
+++ b/package/mplayer/mplayer.mk
@@ -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_ARMV5),y)
MPLAYER_CONF_OPTS += --enable-armv5te
endif
-ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv6j)
+ifeq ($(BR2_ARM_CPU_ARMV6),y)
MPLAYER_CONF_OPTS += --enable-armv6
endif
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 09/30] libplayer: use BR2_ARM_CPU_ARM* option
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (7 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 10/30] nettle: use the BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (23 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libplayer/Config.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/package/libplayer/Config.in b/package/libplayer/Config.in
index 703b96d..5a9f466 100644
--- a/package/libplayer/Config.in
+++ b/package/libplayer/Config.in
@@ -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
select BR2_PACKAGE_MPLAYER
config BR2_PACKAGE_LIBPLAYER_GSTREAMER
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 10/30] nettle: use the BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (8 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 09/30] libplayer: use BR2_ARM_CPU_ARM* option Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 11/30] nodejs: use " Thomas Petazzoni
` (22 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
Adjust the nettle package to use the BR2_ARM_CPU_ARM* option to
disable the usage of assembly code on ARMv4 and ARMv5.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/nettle/nettle.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk
index e73a718..a25bb24 100644
--- a/package/nettle/nettle.mk
+++ b/package/nettle/nettle.mk
@@ -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_ARMV5),y)
NETTLE_CONF_OPTS += --disable-assembler
endif
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 11/30] nodejs: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (9 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 10/30] nettle: use the BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 12/30] qt5: use the " Thomas Petazzoni
` (21 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
Adjust the nodejs Config.in dependencies to use the per ARM
architecture BR2_ARM_CPU_ARM* options instead of the per ARM core
options.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/nodejs/Config.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
index 077a043..47e80ec 100644
--- a/package/nodejs/Config.in
+++ b/package/nodejs/Config.in
@@ -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
# 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
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INET_IPV6
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 12/30] qt5: use the BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (10 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 11/30] nodejs: use " Thomas Petazzoni
@ 2014-10-21 20:26 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 13/30] speex: use " Thomas Petazzoni
` (20 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:26 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/qt5/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 83f02f1..0a8284f 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -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
default y
comment "Qt5 needs a toolchain w/ wchar, IPv6, NPTL, C++"
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 13/30] speex: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (11 preceding siblings ...)
2014-10-21 20:26 ` [Buildroot] [PATCH v2 12/30] qt5: use the " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 14/30] vo-aacenc: use the " Thomas Petazzoni
` (19 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/speex/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/speex/Config.in b/package/speex/Config.in
index ab743fe..f18e866 100644
--- a/package/speex/Config.in
+++ b/package/speex/Config.in
@@ -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
config BR2_PACKAGE_SPEEX_ARM5E
default y
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 14/30] vo-aacenc: use the BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (12 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 13/30] speex: use " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 15/30] webkit: use " Thomas Petazzoni
` (18 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/vo-aacenc/vo-aacenc.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/vo-aacenc/vo-aacenc.mk b/package/vo-aacenc/vo-aacenc.mk
index e35ac42..23d7e62 100644
--- a/package/vo-aacenc/vo-aacenc.mk
+++ b/package/vo-aacenc/vo-aacenc.mk
@@ -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),)
VO_AACENC_CONF_OPTS += --enable-armv5e
else
VO_AACENC_CONF_OPTS += --disable-armv5e
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 15/30] webkit: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (13 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 14/30] vo-aacenc: use the " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 16/30] valgrind: use the " Thomas Petazzoni
` (17 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/webkit/Config.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index d1bc1d5..2f0b90d 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -1,8 +1,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)
+ default y if (BR2_arm || BR2_armeb) && !BR2_ARM_CPU_ARMV4
default y if BR2_i386 || BR2_mips || BR2_mipsel || \
BR2_sparc || BR2_x86_64
depends on BR2_USE_MMU # libgail -> pango -> libglib2
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 16/30] valgrind: use the BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (14 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 15/30] webkit: use " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 17/30] x264: use the BR2_ARM_CPU_ARMV7A option Thomas Petazzoni
` (16 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/valgrind/Config.in | 7 +++----
package/valgrind/valgrind.mk | 4 ++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
index 253555b..b7521b0 100644
--- a/package/valgrind/Config.in
+++ b/package/valgrind/Config.in
@@ -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.
diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk
index 9b79941..b65e048 100644
--- a/package/valgrind/valgrind.mk
+++ b/package/valgrind/valgrind.mk
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 17/30] x264: use the BR2_ARM_CPU_ARMV7A option
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (15 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 16/30] valgrind: use the " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 18/30] libnspr: " Thomas Petazzoni
` (15 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/x264/x264.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/x264/x264.mk b/package/x264/x264.mk
index ac8fe94..1846f04 100644
--- a/package/x264/x264.mk
+++ b/package/x264/x264.mk
@@ -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)"
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 18/30] libnspr: use the BR2_ARM_CPU_ARMV7A option
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (16 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 17/30] x264: use the BR2_ARM_CPU_ARMV7A option Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-11-06 22:57 ` Peter Korsgaard
2014-10-21 20:27 ` [Buildroot] [PATCH v2 19/30] toolchain-external: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
` (14 subsequent siblings)
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libnspr/libnspr.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
index eaa6eb7..537caa6 100644
--- a/package/libnspr/libnspr.mk
+++ b/package/libnspr/libnspr.mk
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 19/30] toolchain-external: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (17 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 18/30] libnspr: " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 20/30] dhcpcd: do not pass --target option Thomas Petazzoni
` (13 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/Config.in | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index c74388f..39b56e1 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -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
depends on BR2_ARM_EABI
depends on !BR2_PREFER_STATIC_LIB
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 20/30] dhcpcd: do not pass --target option
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (18 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 19/30] toolchain-external: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 21/30] arch/arm: do not distinguish revisions of ARM1136JF-S Thomas Petazzoni
` (12 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/dhcpcd/dhcpcd.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk
index f4b821a..3bb7a13 100644
--- a/package/dhcpcd/dhcpcd.mk
+++ b/package/dhcpcd/dhcpcd.mk
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 21/30] arch/arm: do not distinguish revisions of ARM1136JF-S
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (19 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 20/30] dhcpcd: do not pass --target option Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 22/30] arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM Thomas Petazzoni
` (11 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
---
arch/Config.in.arm | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 5441c8d..9257c16 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 22/30] arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (20 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 21/30] arch/arm: do not distinguish revisions of ARM1136JF-S Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 23/30] ffmpeg: use arch and cpu instead of tune Thomas Petazzoni
` (10 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
arch/Config.in.arm | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 9257c16..162191b 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -381,25 +381,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"
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 23/30] ffmpeg: use arch and cpu instead of tune
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (21 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 22/30] arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 24/30] arch/x86: get rid of BR2_GCC_TARGET_TUNE Thomas Petazzoni
` (9 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/ffmpeg/ffmpeg.mk | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 0990f18..38eaaaa 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -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) \
)
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 24/30] arch/x86: get rid of BR2_GCC_TARGET_TUNE
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (22 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 23/30] ffmpeg: use arch and cpu instead of tune Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 25/30] arch/sparc: " Thomas Petazzoni
` (8 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
arch/Config.in.x86 | 32 +-------------------------------
1 file changed, 1 insertion(+), 31 deletions(-)
diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
index 9aa4ea2..0b7919b 100644
--- a/arch/Config.in.x86
+++ b/arch/Config.in.x86
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 25/30] arch/sparc: get rid of BR2_GCC_TARGET_TUNE
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (23 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 24/30] arch/x86: get rid of BR2_GCC_TARGET_TUNE Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 26/30] arch/powerpc: " Thomas Petazzoni
` (7 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
arch/Config.in.sparc | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc
index 657c825..19907b9 100644
--- a/arch/Config.in.sparc
+++ b/arch/Config.in.sparc
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 26/30] arch/powerpc: get rid of BR2_GCC_TARGET_TUNE
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (24 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 25/30] arch/sparc: " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 27/30] arch/m68k: " Thomas Petazzoni
` (6 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
arch/Config.in.powerpc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
index 239f5dc..fabee9f 100644
--- a/arch/Config.in.powerpc
+++ b/arch/Config.in.powerpc
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 27/30] arch/m68k: get rid of BR2_GCC_TARGET_TUNE
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (25 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 26/30] arch/powerpc: " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 28/30] gcc: do not use BR2_GCC_TARGET_TUNE anymore Thomas Petazzoni
` (5 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
arch/Config.in.m68k | 8 --------
1 file changed, 8 deletions(-)
diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k
index 6b79307..6b868a1 100644
--- a/arch/Config.in.m68k
+++ b/arch/Config.in.m68k
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 28/30] gcc: do not use BR2_GCC_TARGET_TUNE anymore
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (26 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 27/30] arch/m68k: " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 29/30] toolchain-external: " Thomas Petazzoni
` (4 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no
longer a point in using it in the gcc package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/gcc/gcc.mk | 3 ---
1 file changed, 3 deletions(-)
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index 7bed159..f5ec96a 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -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
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 29/30] toolchain-external: do not use BR2_GCC_TARGET_TUNE anymore
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (27 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 28/30] gcc: do not use BR2_GCC_TARGET_TUNE anymore Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 30/30] arch: remove the BR2_GCC_TARGET_TUNE option Thomas Petazzoni
` (3 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/ext-toolchain-wrapper.c | 12 +++---------
toolchain/toolchain-external/toolchain-external.mk | 5 -----
2 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c b/toolchain/toolchain-external/ext-toolchain-wrapper.c
index 8db4ac4..f459a7e 100644
--- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
+++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
@@ -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));
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index b7a0e60..e16fce5 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -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_)"'
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 30/30] arch: remove the BR2_GCC_TARGET_TUNE option
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (28 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 29/30] toolchain-external: " Thomas Petazzoni
@ 2014-10-21 20:27 ` Thomas Petazzoni
2014-10-25 10:46 ` [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (2 subsequent siblings)
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-21 20:27 UTC (permalink / raw)
To: buildroot
The BR2_GCC_TARGET_TUNE option is now unused, so we can get rid of it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
arch/Config.in | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/Config.in b/arch/Config.in
index 1126d43..d62d887 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -217,9 +217,6 @@ config BR2_ARCH
config BR2_ENDIAN
string
-config BR2_GCC_TARGET_TUNE
- string
-
config BR2_GCC_TARGET_ARCH
string
--
2.0.0
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
@ 2014-10-21 21:06 ` Yann E. MORIN
0 siblings, 0 replies; 46+ messages in thread
From: Yann E. MORIN @ 2014-10-21 21:06 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2014-10-21 22:26 +0200, Thomas Petazzoni spake thusly:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> arch/Config.in.arm | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
> index 201ff1d..5441c8d 100644
> --- a/arch/Config.in.arm
> +++ b/arch/Config.in.arm
> @@ -37,6 +37,18 @@ config BR2_ARM_CPU_HAS_THUMB
> config BR2_ARM_CPU_HAS_THUMB2
> bool
>
> +config BR2_ARM_CPU_ARMV4
> + bool
> +
> +config BR2_ARM_CPU_ARMV5
> + bool
> +
> +config BR2_ARM_CPU_ARMV6
> + bool
> +
> +config BR2_ARM_CPU_ARMV7A
> + bool
I still believe we could go with ARMV7 only, since we only have CPUs of
the A series for now.
When we add a new CPU of the M series, then we could go this route:
- add a new config option stating the CPU only has Thumb-2:
config BR2_ARM_CPU_HAS_THUMB2_ONLY
bool
or add another option:
config BR2_ARM_CPU_HAS_ARM
bool # 'y' is CPU has the ARM mode
- use it in packages that have an interest in them.
- select it from appropriate CPUs
But we can rename that option later, since it is a blind option, it will
have no incidence on defconfig or .config files. So:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> choice
> prompt "Target Architecture Variant"
> depends on BR2_arm || BR2_armeb
> @@ -47,70 +59,88 @@ choice
> config BR2_arm920t
> bool "arm920t"
> select BR2_ARM_CPU_HAS_THUMB
> + select BR2_ARM_CPU_ARMV4
> config BR2_arm922t
> bool "arm922t"
> select BR2_ARM_CPU_HAS_THUMB
> + select BR2_ARM_CPU_ARMV4
> config BR2_arm926t
> bool "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"
> select BR2_ARM_CPU_HAS_VFPV2
> select BR2_ARM_CPU_HAS_THUMB
> + select BR2_ARM_CPU_ARMV6
> config BR2_arm1176jz_s
> bool "arm1176jz-s"
> select BR2_ARM_CPU_HAS_THUMB
> + select BR2_ARM_CPU_ARMV6
> config BR2_arm1176jzf_s
> bool "arm1176jzf-s"
> select BR2_ARM_CPU_HAS_VFPV2
> select BR2_ARM_CPU_HAS_THUMB
> + select BR2_ARM_CPU_ARMV6
> 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_ARMV5
> config BR2_iwmmxt
> bool "iwmmxt"
> + select BR2_ARM_CPU_ARMV5
> endchoice
>
> config BR2_arm1136jf_s
> --
> 2.0.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-21 20:26 ` [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 21:09 ` Yann E. MORIN
0 siblings, 0 replies; 46+ messages in thread
From: Yann E. MORIN @ 2014-10-21 21:09 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2014-10-21 22:26 +0200, Thomas Petazzoni spake thusly:
> 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.
>
> This commit is a blind conversion from the per-core options to the
> per-architecture. It has the benefit of enabling the ARMv6
> optimizations on all ARMv7-A cores, not only A5, A8, A9 and
> A15. However, it doesn't fix the condition for
> --enable-vfp/--disable-vfp for ARMv6 cores that don't have a FPU, it
> is fixed in a follow-up commit.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> package/ffmpeg/ffmpeg.mk | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index 21ec1c9..349bac9 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -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),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_ARMV6)$(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_ARMV6)$(BR2_ARM_CPU_ARMV7A),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
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp
2014-10-21 20:26 ` [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp Thomas Petazzoni
@ 2014-10-21 21:15 ` Yann E. MORIN
0 siblings, 0 replies; 46+ messages in thread
From: Yann E. MORIN @ 2014-10-21 21:15 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2014-10-21 22:26 +0200, Thomas Petazzoni spake thusly:
> As noted by Arnout, not all ARMv6 have the VFP FPU, therefore instead
> of using a condition on ARMv6 or ARMv7-A, this commit changes to use a
> condition on BR2_ARM_CPU_HAS_VFPV2.
Indeed, that seems sensible. :-]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> package/ffmpeg/ffmpeg.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index 349bac9..0990f18 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -285,7 +285,7 @@ FFMPEG_CONF_OPTS += --enable-armv6
> else
> FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
> endif
> -ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
> +ifeq ($(BR2_ARM_CPU_HAS_VFPV2),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
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-21 20:26 ` [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-10-21 21:18 ` Yann E. MORIN
2014-10-22 7:34 ` Thomas Petazzoni
0 siblings, 1 reply; 46+ messages in thread
From: Yann E. MORIN @ 2014-10-21 21:18 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2014-10-21 22:26 +0200, Thomas Petazzoni spake thusly:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
However, a side comment, see below...
> ---
> package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> index b94fb0f..5e55363 100644
> --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> +++ b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> @@ -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),y)
> GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
> endif
> -ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
> +ifeq ($(BR2_ARM_CPU_ARMV6),y)
> GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
> else
> GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
armv6t2: does that hint that we can tune to use Thumb-2 ?
Unrelated to the series, though...
Regards,
Yann E. MORIN.
> --
> 2.0.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms
2014-10-21 20:26 ` [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
@ 2014-10-21 21:24 ` Yann E. MORIN
0 siblings, 0 replies; 46+ messages in thread
From: Yann E. MORIN @ 2014-10-21 21:24 UTC (permalink / raw)
To: buildroot
On 2014-10-21 22:26 +0200, Thomas Petazzoni spake thusly:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> index 5e55363..59b9323 100644
> --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> +++ b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
> @@ -54,7 +54,7 @@ endif
> ifeq ($(BR2_ARM_CPU_ARMV4),y)
> GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te
> endif
> -ifeq ($(BR2_ARM_CPU_ARMV6),y)
> +ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
> GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
> else
> GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
> --
> 2.0.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-21 21:18 ` Yann E. MORIN
@ 2014-10-22 7:34 ` Thomas Petazzoni
2014-10-22 16:14 ` Arnout Vandecappelle
0 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-22 7:34 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Tue, 21 Oct 2014 23:18:11 +0200, Yann E. MORIN wrote:
> > -ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
> > +ifeq ($(BR2_ARM_CPU_ARMV6),y)
> > GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
> > else
> > GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
>
> armv6t2: does that hint that we can tune to use Thumb-2 ?
I thought Thumb-2 was only introduced with ARMv7, but it turns out it's
not the case. It has in fact been introduced in ARM1156, part of the
ARMv6 architecture.
However, this ARM1156 is not supported in Buildroot, and I have never
heard of it in any publicly available SoC.
However, this means that --enable-armv6t2 can be used for ARMv7.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-22 7:34 ` Thomas Petazzoni
@ 2014-10-22 16:14 ` Arnout Vandecappelle
2014-10-23 7:49 ` Thomas Petazzoni
0 siblings, 1 reply; 46+ messages in thread
From: Arnout Vandecappelle @ 2014-10-22 16:14 UTC (permalink / raw)
To: buildroot
On 22/10/14 09:34, Thomas Petazzoni wrote:
> Dear Yann E. MORIN,
>
> On Tue, 21 Oct 2014 23:18:11 +0200, Yann E. MORIN wrote:
>
>>> -ifeq ($(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s),y)
>>> +ifeq ($(BR2_ARM_CPU_ARMV6),y)
>>> GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6
>>> else
>>> GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
>>
>> armv6t2: does that hint that we can tune to use Thumb-2 ?
>
> I thought Thumb-2 was only introduced with ARMv7, but it turns out it's
> not the case. It has in fact been introduced in ARM1156, part of the
> ARMv6 architecture.
>
> However, this ARM1156 is not supported in Buildroot, and I have never
> heard of it in any publicly available SoC.
>
> However, this means that --enable-armv6t2 can be used for ARMv7.
I wouldn't want to actually use it unless tested on real hardware, however.
Regards,
Arnout
--
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
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-22 16:14 ` Arnout Vandecappelle
@ 2014-10-23 7:49 ` Thomas Petazzoni
2014-10-23 8:27 ` Arnout Vandecappelle
0 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-23 7:49 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle,
On Wed, 22 Oct 2014 18:14:21 +0200, Arnout Vandecappelle wrote:
> I wouldn't want to actually use it unless tested on real hardware, however.
Well, if you grep through the gst-ffmpeg tree, you will that the
ARMV6T2 condition is only used in two places in
gst-libs/ext/libav/libavcodec/arm/asm.S :
.macro mov32 rd, val
#if HAVE_ARMV6T2
movw \rd, #(\val) & 0xffff
.if (\val) >> 16
movt \rd, #(\val) >> 16
.endif
#else
ldr \rd, =\val
#endif
.endm
.macro movrel rd, val
#if HAVE_ARMV6T2 && !CONFIG_PIC && !defined(__APPLE__)
movw \rd, #:lower16:\val
movt \rd, #:upper16:\val
#else
ldr \rd, =\val
#endif
.endm
So when you have ARMV6T2, it uses movw/movt instead of ldr. That's the
only difference with the non-ARMV6T2 mode. Then you can read
http://community.arm.com/groups/processors/blog/2010/07/27/how-to-load-constants-in-assembly-for-arm-architecture,
which says:
"""
As mentioned earlier, there are other ways to load a constant. In the
latest version of the ARM architecture, ARMv7, two new instructions
were introduced to improve the situation:
- movw, or move wide, will move a 16-bit constant into a register,
implicitly zeroing the top 16 bits of the target register.
- movt, or move top, will move a 16-bit constant into the top half of a
given register without altering the bottom 16 bits. Now moving an
arbitrary 32-bit constant is as simple as this:
"""
So I think it's safe to say than --enable-armv6t2 can be used on ARMv7
as well.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
2014-10-23 7:49 ` Thomas Petazzoni
@ 2014-10-23 8:27 ` Arnout Vandecappelle
0 siblings, 0 replies; 46+ messages in thread
From: Arnout Vandecappelle @ 2014-10-23 8:27 UTC (permalink / raw)
To: buildroot
On 23/10/14 09:49, Thomas Petazzoni wrote:
> Dear Arnout Vandecappelle,
>
> On Wed, 22 Oct 2014 18:14:21 +0200, Arnout Vandecappelle wrote:
>
>> I wouldn't want to actually use it unless tested on real hardware, however.
>
> Well, if you grep through the gst-ffmpeg tree, you will that the
> ARMV6T2 condition is only used in two places in
> gst-libs/ext/libav/libavcodec/arm/asm.S :
>
> .macro mov32 rd, val
> #if HAVE_ARMV6T2
> movw \rd, #(\val) & 0xffff
> .if (\val) >> 16
> movt \rd, #(\val) >> 16
> .endif
> #else
> ldr \rd, =\val
> #endif
> .endm
>
> .macro movrel rd, val
> #if HAVE_ARMV6T2 && !CONFIG_PIC && !defined(__APPLE__)
> movw \rd, #:lower16:\val
> movt \rd, #:upper16:\val
> #else
> ldr \rd, =\val
> #endif
> .endm
>
> So when you have ARMV6T2, it uses movw/movt instead of ldr. That's the
> only difference with the non-ARMV6T2 mode. Then you can read
> http://community.arm.com/groups/processors/blog/2010/07/27/how-to-load-constants-in-assembly-for-arm-architecture,
> which says:
>
> """
> As mentioned earlier, there are other ways to load a constant. In the
> latest version of the ARM architecture, ARMv7, two new instructions
> were introduced to improve the situation:
>
> - movw, or move wide, will move a 16-bit constant into a register,
> implicitly zeroing the top 16 bits of the target register.
>
> - movt, or move top, will move a 16-bit constant into the top half of a
> given register without altering the bottom 16 bits. Now moving an
> arbitrary 32-bit constant is as simple as this:
> """
>
> So I think it's safe to say than --enable-armv6t2 can be used on ARMv7
> as well.
Okay, that's good enough for me.
Regards,
Arnout
--
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
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (29 preceding siblings ...)
2014-10-21 20:27 ` [Buildroot] [PATCH v2 30/30] arch: remove the BR2_GCC_TARGET_TUNE option Thomas Petazzoni
@ 2014-10-25 10:46 ` Thomas Petazzoni
2014-11-06 7:24 ` Thomas Petazzoni
2014-11-06 23:20 ` Peter Korsgaard
32 siblings, 0 replies; 46+ messages in thread
From: Thomas Petazzoni @ 2014-10-25 10:46 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 21 Oct 2014 22:26:47 +0200, Thomas Petazzoni wrote:
> Thomas Petazzoni (30):
> arch/arm: add blind options to know the ARM architecture
> ffmpeg: use the new BR2_ARM_CPU_ARM* options
> ffmpeg: fix ARM condition for --{enable,disable}-vfp
> gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
> gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms
I've applied those first five patches, since they have been Reviewed-by
Yann. I'll leave the other patches pending for now, until someone
reviews them.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (30 preceding siblings ...)
2014-10-25 10:46 ` [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
@ 2014-11-06 7:24 ` Thomas Petazzoni
2014-11-06 22:06 ` Peter Korsgaard
2014-11-06 23:20 ` Peter Korsgaard
32 siblings, 1 reply; 46+ messages in thread
From: Thomas Petazzoni @ 2014-11-06 7:24 UTC (permalink / raw)
To: buildroot
Hello,
Ping about this series? The first 6 patches have been applied, but not
the remainder. Would it be possible to apply them for the 2014.11
release, in order to solve the conflicting cflags used on ARM, and
reported by many users?
Thanks,
Thomas
On Tue, 21 Oct 2014 22:26:47 +0200, Thomas Petazzoni wrote:
> 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 introduces a number of ARM architecture blind options:
> BR2_ARM_CPU_ARMV4, BR2_ARM_CPU_ARMV5, BR2_ARM_CPU_ARMV6,
> 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 2 to 19 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 20 fixes the dhcpcd package as it uses the
> BR2_GCC_TARGET_ARCH value, which may not always exists on certain
> architectures.
>
> - PATCH 21 and 22 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 23 prepares ffmpeg for the removal of BR2_GCC_TARGET_TUNE by
> using BR2_GCC_TARGET_ARCH or BR2_GCC_TARGET_CPU instead.
>
> - PATCH 24 to 27 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 28 to 30 finally get rid of BR2_GCC_TARGET_TUNE entirely
> since it is no longer used.
>
> Changes since v1:
>
> * Instead of having multiple BR2_ARM_CPU_ARMV{4,4T,5TE,etc.} per
> architecture level, use only one. All the follow-up patches have
> been fixed up following this.
>
> * Add a patch to take into account the bug noticed by Arnout about
> VFP enabling in the ffmpeg package.
>
> * Remove the two patches that have been merged.
>
> * Add Reviewed-by tags from Yann on a certain number of patches, as
> he gave them on the list.
>
> Note that I haven't done any modification of the Thumb / Thumb-2
> handling suggested by Yann. This is orthogonal to this series, and can
> be done in a follow-up series.
>
> Best regards,
>
> Thomas
>
> Thomas Petazzoni (30):
> arch/arm: add blind options to know the ARM architecture
> ffmpeg: use the new BR2_ARM_CPU_ARM* options
> ffmpeg: fix ARM condition for --{enable,disable}-vfp
> 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 | 61 +++++++++++-----------
> 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 | 3 +-
> 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 | 3 +-
> 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, 74 insertions(+), 132 deletions(-)
>
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates
2014-11-06 7:24 ` Thomas Petazzoni
@ 2014-11-06 22:06 ` Peter Korsgaard
0 siblings, 0 replies; 46+ messages in thread
From: Peter Korsgaard @ 2014-11-06 22:06 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> Hello,
> Ping about this series? The first 6 patches have been applied, but not
> the remainder. Would it be possible to apply them for the 2014.11
> release, in order to solve the conflicting cflags used on ARM, and
> reported by many users?
Yes, I also think we should add it for 2014.11. I'll review them now and
commit.
Thanks for the reminder.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options
2014-10-21 20:26 ` [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
@ 2014-11-06 22:33 ` Peter Korsgaard
0 siblings, 0 replies; 46+ messages in thread
From: Peter Korsgaard @ 2014-11-06 22:33 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/mplayer/Config.in | 3 +--
> package/mplayer/mplayer.mk | 4 ++--
> 2 files changed, 3 insertions(+), 4 deletions(-)
> diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in
> index 8b5d05e..6b97aeb 100644
> --- a/package/mplayer/Config.in
> +++ b/package/mplayer/Config.in
> @@ -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
> depends on BR2_LARGEFILE
> help
> MPlayer is a movie player which runs on many systems and supports
> diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk
> index 0c216d7..ee023b4 100644
> --- a/package/mplayer/mplayer.mk
> +++ b/package/mplayer/mplayer.mk
> @@ -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_ARMV5),y)
> MPLAYER_CONF_OPTS += --enable-armv5te
> endif
> -ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv6j)
> +ifeq ($(BR2_ARM_CPU_ARMV6),y)
> MPLAYER_CONF_OPTS += --enable-armv6
> endif
Not related to this patch, but we should probably do the same as for
ffmpeg/gst-ffmpeg/gst1-libav and enable the armv6 stuff on armv7a.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 18/30] libnspr: use the BR2_ARM_CPU_ARMV7A option
2014-10-21 20:27 ` [Buildroot] [PATCH v2 18/30] libnspr: " Thomas Petazzoni
@ 2014-11-06 22:57 ` Peter Korsgaard
0 siblings, 0 replies; 46+ messages in thread
From: Peter Korsgaard @ 2014-11-06 22:57 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> 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.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/libnspr/libnspr.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
> index eaa6eb7..537caa6 100644
> --- a/package/libnspr/libnspr.mk
> +++ b/package/libnspr/libnspr.mk
> @@ -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)
There's currently no functional difference, but it makes more sense to
use BR2_ARM_CPU_HAS_THUMB2 here.
Committed with that fixed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 46+ messages in thread
* [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
` (31 preceding siblings ...)
2014-11-06 7:24 ` Thomas Petazzoni
@ 2014-11-06 23:20 ` Peter Korsgaard
32 siblings, 0 replies; 46+ messages in thread
From: Peter Korsgaard @ 2014-11-06 23:20 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> 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 introduces a number of ARM architecture blind options:
> BR2_ARM_CPU_ARMV4, BR2_ARM_CPU_ARMV5, BR2_ARM_CPU_ARMV6,
> 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 2 to 19 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 20 fixes the dhcpcd package as it uses the
> BR2_GCC_TARGET_ARCH value, which may not always exists on certain
> architectures.
> - PATCH 21 and 22 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 23 prepares ffmpeg for the removal of BR2_GCC_TARGET_TUNE by
> using BR2_GCC_TARGET_ARCH or BR2_GCC_TARGET_CPU instead.
> - PATCH 24 to 27 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 28 to 30 finally get rid of BR2_GCC_TARGET_TUNE entirely
> since it is no longer used.
Committed remainder of series, thanks!
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 46+ messages in thread
end of thread, other threads:[~2014-11-06 23:20 UTC | newest]
Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
2014-10-21 21:06 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 21:09 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp Thomas Petazzoni
2014-10-21 21:15 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 21:18 ` Yann E. MORIN
2014-10-22 7:34 ` Thomas Petazzoni
2014-10-22 16:14 ` Arnout Vandecappelle
2014-10-23 7:49 ` Thomas Petazzoni
2014-10-23 8:27 ` Arnout Vandecappelle
2014-10-21 20:26 ` [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
2014-10-21 21:24 ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 06/30] gst1-libav: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 07/30] gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-11-06 22:33 ` Peter Korsgaard
2014-10-21 20:26 ` [Buildroot] [PATCH v2 09/30] libplayer: use BR2_ARM_CPU_ARM* option Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 10/30] nettle: use the BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 11/30] nodejs: use " Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 12/30] qt5: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 13/30] speex: use " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 14/30] vo-aacenc: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 15/30] webkit: use " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 16/30] valgrind: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 17/30] x264: use the BR2_ARM_CPU_ARMV7A option Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 18/30] libnspr: " Thomas Petazzoni
2014-11-06 22:57 ` Peter Korsgaard
2014-10-21 20:27 ` [Buildroot] [PATCH v2 19/30] toolchain-external: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 20/30] dhcpcd: do not pass --target option Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 21/30] arch/arm: do not distinguish revisions of ARM1136JF-S Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 22/30] arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 23/30] ffmpeg: use arch and cpu instead of tune Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 24/30] arch/x86: get rid of BR2_GCC_TARGET_TUNE Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 25/30] arch/sparc: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 26/30] arch/powerpc: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 27/30] arch/m68k: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 28/30] gcc: do not use BR2_GCC_TARGET_TUNE anymore Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 29/30] toolchain-external: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 30/30] arch: remove the BR2_GCC_TARGET_TUNE option Thomas Petazzoni
2014-10-25 10:46 ` [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-11-06 7:24 ` Thomas Petazzoni
2014-11-06 22:06 ` Peter Korsgaard
2014-11-06 23:20 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox