diff options
28 files changed, 46 insertions, 22 deletions
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index a78469c3d1..bbfa3a521c 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -89,10 +89,10 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive" PREFERRED_PROVIDER_xserver ?= "xserver-kdrive" #powerpc needs additional patches to gcc -PREFERRED_VERSION_gcc_dht-walnut ?= "4.1.1" -PREFERRED_VERSION_gcc-cross_dht-walnut ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-sdk_dht-walnut ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-initial_dht-walnut ?= "4.1.1" +PREFERRED_VERSION_gcc_ppc405 ?= "4.1.1" +PREFERRED_VERSION_gcc-cross_ppc405 ?= "4.1.1" +PREFERRED_VERSION_gcc-cross-sdk_ppc405 ?= "4.1.1" +PREFERRED_VERSION_gcc-cross-initial_ppc405 ?= "4.1.1" PREFERRED_VERSION_gcc_xilinx-ml403 ?= "4.1.1" PREFERRED_VERSION_gcc-cross_xilinx-ml403 ?= "4.1.1" @@ -104,11 +104,11 @@ PREFERRED_VERSION_gcc-cross_mpc8323e-rdb ?= "4.1.1" PREFERRED_VERSION_gcc-cross-sdk_mpc8323e-rdb ?= "4.1.1" PREFERRED_VERSION_gcc-cross-initial_mpc8323e-rdb ?= "4.1.1" -# GCC 4.3.0 is the first release with armv7 support -#PREFERRED_VERSION_gcc_beagleboard = "4.3.0" -#PREFERRED_VERSION_gcc-cross_beagleboard = "4.3.0" -#PREFERRED_VERSION_gcc-cross-sdk_beagleboard = "4.3.0" -#PREFERRED_VERSION_gcc-cross-initial_beagleboard = "4.3.0" +# GCC 4.3.0 is the first release with armv7-* support +PREFERRED_VERSION_gcc_armv7a = "4.3.0" +PREFERRED_VERSION_gcc-cross_armv7a = "4.3.0" +PREFERRED_VERSION_gcc-cross-sdk_armv7a = "4.3.0" +PREFERRED_VERSION_gcc-cross-initial_armv7a = "4.3.0" PREFERRED_VERSION_gcc ?= "4.2.2" PREFERRED_VERSION_gcc-cross ?= "4.2.2" diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc index f02e045dbf..fbc7305ce9 100644 --- a/conf/distro/include/angstrom-glibc.inc +++ b/conf/distro/include/angstrom-glibc.inc @@ -18,6 +18,7 @@ FULL_OPTIMIZATION_pn-glibc-intermediate = "-O2" FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2" FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2" +FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -ftree-vectorize -fomit-frame-pointer -O2" BUILD_OPTIMIZATION = "-Os" BUILD_OPTIMIZATION_pn-perl = "-O1" diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc index bb1d65dec3..f53f1fb8bd 100644 --- a/conf/distro/include/angstrom.inc +++ b/conf/distro/include/angstrom.inc @@ -9,6 +9,10 @@ DISTRO_NAME = "Angstrom" TARGET_VENDOR = "-angstrom" +# Add FEED_ARCH to overrides +OVERRIDES .= ":${FEED_ARCH}" + + # Can be "glibc", "eglibc" or "uclibc" ANGSTROM_MODE ?= "glibc" PSTAGE_EXTRAPATH = "${ANGSTROM_MODE}" @@ -61,11 +65,8 @@ ENABLE_BINARY_LOCALE_GENERATION ?= "1" LOCALE_UTF8_ONLY = "1" #qemu doesn't like armv6/eabi/vfp -ENABLE_BINARY_LOCALE_GENERATION_mx31ads = "0" -ENABLE_BINARY_LOCALE_GENERATION_nokia800 = "0" -ENABLE_BINARY_LOCALE_GENERATION_omap2420h4 = "0" -ENABLE_BINARY_LOCALE_GENERATION_omap2430sdp = "0" -ENABLE_BINARY_LOCALE_GENERATION_beagleboard = "0" +ENABLE_BINARY_LOCALE_GENERATION_armv6 = "0" +ENABLE_BINARY_LOCALE_GENERATION_armv7a = "0" #qemu has taken a dislike to armeb as well ENABLE_BINARY_LOCALE_GENERATION_armeb = "0" diff --git a/conf/machine/include/tune-arm9tdmi.inc b/conf/machine/include/tune-arm9tdmi.inc index d097b07739..ded2c1b732 100644 --- a/conf/machine/include/tune-arm9tdmi.inc +++ b/conf/machine/include/tune-arm9tdmi.inc @@ -1,2 +1,3 @@ +FEED_ARCH = "armv4t" PACKAGE_ARCH = "armv4t" TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi" diff --git a/conf/machine/include/tune-armv7.inc b/conf/machine/include/tune-armv7.inc index 61b4685f10..6276fe6798 100644 --- a/conf/machine/include/tune-armv7.inc +++ b/conf/machine/include/tune-armv7.inc @@ -1,5 +1,6 @@ # valid options for -march: `armv7', `armv7-a', `armv7-r', `armv7-m' # valid option for -mtune: `cortex-a8', `cortex-r4', `cortex-m3', `cortex-m1' +# This will NOT compile programs in 'ARM' mode, which is what you really want TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv7" PACKAGE_ARCH = "armv7" diff --git a/conf/machine/include/tune-athlonmp.inc b/conf/machine/include/tune-athlonmp.inc index b2d0e703db..167559aa85 100644 --- a/conf/machine/include/tune-athlonmp.inc +++ b/conf/machine/include/tune-athlonmp.inc @@ -1,3 +1,3 @@ TARGET_CC_ARCH = "-march=i686" PACKAGE_ARCH = "i686" - +FEED_ARCH = "i686" diff --git a/conf/machine/include/tune-c3.inc b/conf/machine/include/tune-c3.inc index e6a522af10..00db9d0445 100644 --- a/conf/machine/include/tune-c3.inc +++ b/conf/machine/include/tune-c3.inc @@ -1,3 +1,3 @@ TARGET_CC_ARCH = "-march=c3 -mtune=c3" PACKAGE_ARCH = "i586" - +FEED_ARCH = "i586" diff --git a/conf/machine/include/tune-cortexa8.inc b/conf/machine/include/tune-cortexa8.inc index 03e2e86a5f..6c3bdb6ee0 100644 --- a/conf/machine/include/tune-cortexa8.inc +++ b/conf/machine/include/tune-cortexa8.inc @@ -1,3 +1,8 @@ +# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3] +# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html +# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html +# [3] https://support.codesourcery.com/GNUToolchain/kbentry29 + TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv7a" PACKAGE_ARCH = "armv7a" diff --git a/conf/machine/include/tune-cortexm3.inc b/conf/machine/include/tune-cortexm3.inc index 72ec53d7c0..3598998a74 100644 --- a/conf/machine/include/tune-cortexm3.inc +++ b/conf/machine/include/tune-cortexm3.inc @@ -1,4 +1,4 @@ # valid options for -march: `armv7', `armv7-m' -TARGET_CC_ARCH = "-march=armv7 -mtune=cortex-m3 -mfpu=vfp -mfloat-abi=softfp" +TARGET_CC_ARCH = "-march=armv7-m -mtune=cortex-m3 -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv7" PACKAGE_ARCH = "armv7" diff --git a/conf/machine/include/tune-cortexr4.inc b/conf/machine/include/tune-cortexr4.inc index 5d9a30f629..93c82e8607 100644 --- a/conf/machine/include/tune-cortexr4.inc +++ b/conf/machine/include/tune-cortexr4.inc @@ -1,4 +1,4 @@ # valid options for -march: `armv7', `armv7-r' -TARGET_CC_ARCH = "-march=armv7 -mtune=cortex-r4 -mfpu=vfp -mfloat-abi=softfp" +TARGET_CC_ARCH = "-march=armv7-r -mtune=cortex-r4 -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv7" PACKAGE_ARCH = "armv7" diff --git a/conf/machine/include/tune-ep9312.inc b/conf/machine/include/tune-ep9312.inc index 0982cf2a13..76ccc1a1e3 100644 --- a/conf/machine/include/tune-ep9312.inc +++ b/conf/machine/include/tune-ep9312.inc @@ -3,4 +3,5 @@ TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312" #set arch to ep9312 for all generated packages PACKAGE_ARCH = "ep9312" +FEED_ARCH = "ep9312" diff --git a/conf/machine/include/tune-geodelx.inc b/conf/machine/include/tune-geodelx.inc index 335fadec6e..c167515d46 100644 --- a/conf/machine/include/tune-geodelx.inc +++ b/conf/machine/include/tune-geodelx.inc @@ -3,4 +3,5 @@ # TARGET_CC_ARCH = "-march=k6-2" PACKAGE_ARCH = "geode" +FEED_ARCH = "geode" diff --git a/conf/machine/include/tune-iwmmxt.inc b/conf/machine/include/tune-iwmmxt.inc index 8376faca74..20fe82b584 100644 --- a/conf/machine/include/tune-iwmmxt.inc +++ b/conf/machine/include/tune-iwmmxt.inc @@ -3,4 +3,5 @@ TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt" PACKAGE_ARCH = "iwmmxt" PACKAGE_EXTRA_ARCHS += "iwmmxt" +FEED_ARCH = "iwmmxt" diff --git a/conf/machine/include/tune-pentium.inc b/conf/machine/include/tune-pentium.inc index 7b1a517895..fbefe5bd89 100644 --- a/conf/machine/include/tune-pentium.inc +++ b/conf/machine/include/tune-pentium.inc @@ -1,3 +1,4 @@ TARGET_CC_ARCH = "-mcpu=pentium" PACKAGE_ARCH = "i586" +FEED_ARCH = "i586" diff --git a/conf/machine/include/tune-pentiumpro.inc b/conf/machine/include/tune-pentiumpro.inc index aa9a8dfa1d..6b110cc0b6 100644 --- a/conf/machine/include/tune-pentiumpro.inc +++ b/conf/machine/include/tune-pentiumpro.inc @@ -1,3 +1,4 @@ TARGET_CC_ARCH = "-mcpu=pentiumpro" PACKAGE_ARCH = "i686" +FEED_ARCH = "i686" diff --git a/conf/machine/include/tune-ppc405.inc b/conf/machine/include/tune-ppc405.inc index 62118dd3a1..f798df837c 100644 --- a/conf/machine/include/tune-ppc405.inc +++ b/conf/machine/include/tune-ppc405.inc @@ -2,3 +2,4 @@ TARGET_FPU ?= "soft" TARGET_CC_ARCH = "-mcpu=405" PACKAGE_ARCH = "ppc405" +FEED_ARCH = "ppc405" diff --git a/conf/machine/include/tune-ppc440.inc b/conf/machine/include/tune-ppc440.inc index dff8dce684..d38adac008 100644 --- a/conf/machine/include/tune-ppc440.inc +++ b/conf/machine/include/tune-ppc440.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=440" PACKAGE_ARCH = "ppc440" +FEED_ARCH = "ppc440" diff --git a/conf/machine/include/tune-ppc440e.inc b/conf/machine/include/tune-ppc440e.inc index 5c47482a54..539fa2d065 100644 --- a/conf/machine/include/tune-ppc440e.inc +++ b/conf/machine/include/tune-ppc440e.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=440fp -mhard-float" PACKAGE_ARCH = "ppc440e" +FEED_ARCH = "ppc440e" diff --git a/conf/machine/include/tune-ppc603e.inc b/conf/machine/include/tune-ppc603e.inc index 1a004d30b5..0305a129b9 100644 --- a/conf/machine/include/tune-ppc603e.inc +++ b/conf/machine/include/tune-ppc603e.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=603e -mhard-float" PACKAGE_ARCH = "ppc603e" +FEED_ARCH = "ppc603e" diff --git a/conf/machine/include/tune-ppce300c2.inc b/conf/machine/include/tune-ppce300c2.inc index 4d7ea7ef87..ddf9de00ce 100644 --- a/conf/machine/include/tune-ppce300c2.inc +++ b/conf/machine/include/tune-ppce300c2.inc @@ -1,3 +1,3 @@ TARGET_CC_ARCH = "-mcpu=e300c2" PACKAGE_ARCH = "ppce300c2" - +FEED_ARCH = "ppce300c2" diff --git a/conf/machine/include/tune-ppce300c3.inc b/conf/machine/include/tune-ppce300c3.inc index 29944eeba4..769c18720d 100644 --- a/conf/machine/include/tune-ppce300c3.inc +++ b/conf/machine/include/tune-ppce300c3.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=e300c3" PACKAGE_ARCH = "ppce300c3" +FEED_ARCH = "ppce300c3" diff --git a/conf/machine/include/tune-ppce500.inc b/conf/machine/include/tune-ppce500.inc index 11717eba70..7a0476e5b7 100644 --- a/conf/machine/include/tune-ppce500.inc +++ b/conf/machine/include/tune-ppce500.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=8540" PACKAGE_ARCH = "ppce500" +FEED_ARCH = "ppce500" diff --git a/conf/machine/include/tune-sh3.inc b/conf/machine/include/tune-sh3.inc index 192dd8fd22..65bfacf174 100644 --- a/conf/machine/include/tune-sh3.inc +++ b/conf/machine/include/tune-sh3.inc @@ -1 +1,2 @@ TARGET_CC_ARCH = "-ml -m3" +FEED_ARCH = "sh3" diff --git a/conf/machine/include/tune-sh4.inc b/conf/machine/include/tune-sh4.inc index 866f7f89d5..c20b8cf5a0 100644 --- a/conf/machine/include/tune-sh4.inc +++ b/conf/machine/include/tune-sh4.inc @@ -1 +1,2 @@ TARGET_CC_ARCH = "-ml -m4" +FEED_ARCH = "sh4" diff --git a/conf/machine/include/tune-strongarm.inc b/conf/machine/include/tune-strongarm.inc index 0a773149ff..37499a61dc 100644 --- a/conf/machine/include/tune-strongarm.inc +++ b/conf/machine/include/tune-strongarm.inc @@ -4,4 +4,5 @@ ARM_ABI = "oabi" TARGET_CC_ARCH = "-march=armv4 -mtune=strongarm" +FEED_ARCH = "arm-oabi" diff --git a/conf/machine/include/tune-supersparc.inc b/conf/machine/include/tune-supersparc.inc index 1b1ec1207f..5fbfabe8d3 100644 --- a/conf/machine/include/tune-supersparc.inc +++ b/conf/machine/include/tune-supersparc.inc @@ -1,2 +1,3 @@ TARGET_CC_ARCH = "-mcpu=supersparc" -PACKAGE_ARCH = "supersparc" +PACKAGE_ARCH = "supersparc" +FEED_ARCH = "supersparc" diff --git a/conf/machine/include/tune-x86.inc b/conf/machine/include/tune-x86.inc index a536bbb6e5..b1a0b9eeb8 100644 --- a/conf/machine/include/tune-x86.inc +++ b/conf/machine/include/tune-x86.inc @@ -1,3 +1,3 @@ TARGET_CC_ARCH = "-march=i486" - +FEED_ARCH = "i486" diff --git a/conf/machine/include/tune-xscale.inc b/conf/machine/include/tune-xscale.inc index f14aee9aed..d5ef105e97 100644 --- a/conf/machine/include/tune-xscale.inc +++ b/conf/machine/include/tune-xscale.inc @@ -1,4 +1,4 @@ -FEED_ARCH = "armv5te" +FEED_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}" TARGET_CC_ARCH = "-march=armv5te -mtune=xscale" TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale" |