From a2c383f6ce7cd1e4fc578de7b813d6d710e034fd Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 16 Feb 2014 07:02:07 +0000 Subject: [PATCH] angstrom-next: Use gold for linker on arm/x86 Remove unused pinnings, use linaro toolchains for arm including gdb use OE-Core toolchain for providing native and crossdk components of toolchain. this helps to choose linaro or OE-Core toolchain in a single tmpdir and per architecture still being able to share common components. We really dont care who provides native and crossdk components anyway the arm code improvements that come from linaro gcc is paramount for crossgcc and gcc on target and candian-gcc in case of SDK where we will use it anyway Update comments to match current state of affairs beautify the files a bit Signed-off-by: Khem Raj --- conf/distro/angstrom-next.conf | 72 +++++++++++++------------------- conf/distro/include/angstrom.inc | 5 +++ 2 files changed, 35 insertions(+), 42 deletions(-) diff --git a/conf/distro/angstrom-next.conf b/conf/distro/angstrom-next.conf index 455a9ee..5aff1f0 100644 --- a/conf/distro/angstrom-next.conf +++ b/conf/distro/angstrom-next.conf @@ -1,7 +1,7 @@ #@-------------------------------------------------------------------- #@TYPE: Distribution #@NAME: Angstrom -#@DESCRIPTION: The Linux Distribution for Kernel 2.6 based devices +#@DESCRIPTION: The Linux Distribution for Kernel 2.6+ based devices #@MAINTAINER: Graeme 'XorA' Gregory #@MAINTAINER: Koen Kooi #@MAINTAINER: Khem Raj @@ -9,7 +9,7 @@ #@-------------------------------------------------------------------- # This is a aimed to be the next stable angstrom release. -# If you want something stable *right now*, use angstrom-v2012.05 +# If you want something stable *right now*, use angstrom-v2013.12 # # Use this at your own risk, we welcome bugreports sent to # angstrom-distro-devel@linuxtogo.org @@ -19,7 +19,6 @@ # # Again, in doubt, use the master branch of setup-scripts -#DISTRO_VERSION = "v2012.X" DISTRO_VERSION = "v${@time.strftime('%Y.%m',time.gmtime())}" OLDEST_KERNEL = "2.6.16" @@ -53,63 +52,59 @@ IMAGE_LINGUAS ?= '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d) FEED_BASEPATH = "feeds/core/${ANGSTROM_PKG_FORMAT}/${TCLIBC}/" #This is unrelated to the kernel version, but userspace apps (e.g. udev/systemd) require a recent version to build against -LINUX_LIBC_HEADERS_VERSION ?= "3.10%" -PREFERRED_VERSION_linux-libc-headers = "${LINUX_LIBC_HEADERS_VERSION}" -PREFERRED_VERSION_linux-libc-headers-native = "${LINUX_LIBC_HEADERS_VERSION}" -PREFERRED_VERSION_nativesdk-linux-libc-headers = "${LINUX_LIBC_HEADERS_VERSION}" +LINUX_LIBC_HEADERS_VERSION ?= "3.10%" +PREFERRED_VERSION_linux-libc-headers = "${LINUX_LIBC_HEADERS_VERSION}" +PREFERRED_VERSION_linux-libc-headers-native = "${LINUX_LIBC_HEADERS_VERSION}" +PREFERRED_VERSION_nativesdk-linux-libc-headers = "${LINUX_LIBC_HEADERS_VERSION}" -# Blackfin has its on gcc -ANGSTROM_GCC_VERSION_bfin = "4.1.2" - -#avr32 only has support for gcc 4.2.2 -ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2" - -#aarch64 needs linaro tools -ANGSTROM_GCC_VERSION_aarch64 ?= "linaro-4.7%" -PREFERRED_VERSION_eglibc_aarch64 ?= "2.17" -PREFERRED_VERSION_eglibc-initial_aarch64 ?= "2.17" +#use Linaro tools for ARM +ANGSTROM_GCC_VERSION_arm ?= "linaro-4.8%" +ANGSTROM_BINUTILS_VERSION_arm ?= "linaro-2.24%" +ANGSTROM_GDB_VERSION_arm ?= "linaro-7.6%" #Everybody else can just use this: ANGSTROM_GCC_VERSION ?= "4.8%" +ANGSTROM_NATIVE_GCC_VERSION ?= "4.8%" +ANGSTROM_BINUTILS_VERSION ?= "2.24%" +ANGSTROM_NATIVE_BINUTILS_VERSION ?= "2.24%" +ANGSTROM_GDB_VERSION ?= "7.6%" ANGSTROM_QEMU_VERSION ?= "1.7.0" -ANGSTROM_BINUTILS_VERSION ?= "2.24" - PREFERRED_VERSION_binutils ?= "${ANGSTROM_BINUTILS_VERSION}" PREFERRED_VERSION_binutils-cross ?= "${ANGSTROM_BINUTILS_VERSION}" PREFERRED_VERSION_binutils-crosssdk ?= "${ANGSTROM_BINUTILS_VERSION}" -PREFERRED_VERSION_binutils-native ?= "${ANGSTROM_BINUTILS_VERSION}" PREFERRED_VERSION_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${ANGSTROM_BINUTILS_VERSION}" +PREFERRED_VERSION_binutils-native ?= "${ANGSTROM_NATIVE_BINUTILS_VERSION}" PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_gcc-cross-canadian ?= "${ANGSTROM_GCC_VERSION}" -PREFERRED_VERSION_gcc-crosssdk ?= "${ANGSTROM_GCC_VERSION}" -PREFERRED_VERSION_gcc-crosssdk-initial ?= "${ANGSTROM_GCC_VERSION}" -PREFERRED_VERSION_gcc-crosssdk-intermediate ?= "${ANGSTROM_GCC_VERSION}" +PREFERRED_VERSION_gcc-crosssdk ?= "${ANGSTROM_NATIVE_GCC_VERSION}" +PREFERRED_VERSION_gcc-crosssdk-initial ?= "${ANGSTROM_NATIVE_GCC_VERSION}" +PREFERRED_VERSION_gcc-crosssdk-intermediate ?= "${ANGSTROM_NATIVE_GCC_VERSION}" PREFERRED_VERSION_gcc-runtime ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_nativesdk-gcc-runtime ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_libgcc ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_nativesdk-libgcc ?= "${ANGSTROM_GCC_VERSION}" PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${ANGSTROM_GCC_VERSION}" -#avr32 only has patches for binutils 2.17 in OE -PREFERRED_VERSION_binutils_avr32 = "2.17" -PREFERRED_VERSION_binutils-cross_avr32 = "2.17" -PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17" +PREFERRED_VERSION_gdb ?= "${ANGSTROM_GDB_VERSION}" +PREFERRED_VERSION_gdb-cross ?= "${ANGSTROM_GDB_VERSION}" +PREFERRED_VERSION_gdb-cross-canadian ?= "${ANGSTROM_GDB_VERSION}" +PREFERRED_VERSION_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${ANGSTROM_GDB_VERSION}" -PREFERRED_VERSION_qemu = "${ANGSTROM_QEMU_VERSION}" -PREFERRED_VERSION_qemu-native = "${ANGSTROM_QEMU_VERSION}" -PREFERRED_VERSION_nativesdk-qemu = "${ANGSTROM_QEMU_VERSION}" +PREFERRED_VERSION_qemu = "${ANGSTROM_QEMU_VERSION}" +PREFERRED_VERSION_qemu-native = "${ANGSTROM_QEMU_VERSION}" +PREFERRED_VERSION_nativesdk-qemu = "${ANGSTROM_QEMU_VERSION}" -PREFERRED_PROVIDER_dbus-glib = "dbus-glib" -PREFERRED_PROVIDER-gconf-dbus = "gconf" -PREFERRED_PROVIDER_hotplug = "systemd" -PREFERRED_PROVIDER_opkg ?= "opkg" -PREFERRED_PROVIDER_opkg-native ?= "opkg-native" +PREFERRED_PROVIDER_dbus-glib = "dbus-glib" +PREFERRED_PROVIDER-gconf-dbus = "gconf" +PREFERRED_PROVIDER_hotplug = "systemd" +PREFERRED_PROVIDER_opkg ?= "opkg" +PREFERRED_PROVIDER_opkg-native ?= "opkg-native" # blacklist policy @@ -183,10 +178,3 @@ DISTRO_EXTRA_RRECOMMENDS += " \ openssh-sftp-server \ ${DEBUG_APPS} \ " - - -DISTRO_FEATURES += "${LDISGOLD}" -#LDISGOLD_arm = "ld-is-gold" -#LDISGOLD_x86 = "ld-is-gold" -#LDISGOLD_x86_64 = "ld-is-gold" -LDISGOLD = "" diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc index 956f53d..fa22327 100644 --- a/conf/distro/include/angstrom.inc +++ b/conf/distro/include/angstrom.inc @@ -173,6 +173,11 @@ DISTRO_FEATURES += "pulseaudio" DISTRO_FEATURES += "opengl" PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl" +# We use gold as default linker +DISTRO_FEATURES_append_arm = " ld-is-gold" +DISTRO_FEATURES_append_x86 = " ld-is-gold" +DISTRO_FEATURES_append_x86-64 = " ld-is-gold" + # Inherit the default LIBC features superset from OE-core DISTRO_FEATURES += "${DISTRO_FEATURES_LIBC}"