From 2c071abeee8f883ee38e4de0e0370a8816486894 Mon Sep 17 00:00:00 2001 From: John Bowler Date: Thu, 11 Aug 2005 20:51:17 +0000 Subject: Set -mthumb-interwork on ucslugc builds to allow building (and maybe someday running) of thumb exectuables. --- conf/distro/ucslugc.conf | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf index 7eb8e2f9ad..bb383b8a66 100644 --- a/conf/distro/ucslugc.conf +++ b/conf/distro/ucslugc.conf @@ -18,8 +18,13 @@ USE_NLS_glib-2.0 = "yes" INHERIT += " package_ipk debian nslu2_flashimg" # The OVERRIDES are modified here so that 'openslug' overrides are picked up if -# present (ucslugc overrides take precedence) -OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}" +# present (ucslugc overrides take precedence), 'thumb' is used to factor out +# things where a pack assumes that an arm target implies 32 bit instruction +# support with no attention to thumb/arm mode (it indicates a bug if it is +# necessary to use this). +#NSLU2_THUMB_OVERRIDE = ":thumb" +NSLU2_THUMB_OVERRIDE = "" +OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}${NSLU2_THUMB_OVERRIDE}:${TARGET_ARCH}:build-${BUILD_OS}" # NOTE: to build new packages set UCSLUGC_EXTRA_BBFILES to the full path name to # the .bb files for the packages to build - see ucslugc-packages.conf in this @@ -45,6 +50,28 @@ FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${ #FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/unstable" #FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/unstable" +#---------------------------------------------------------------------------------- +# OVERALL BUILD OPTIONS +#---------------------------------------------------------------------------------- +# +# TARGET_CC_ARCH is used to provide architecture specific definitions to the C +# compiler. For target compilation it is part of "CC" - not part of "CFLAGS" - +# in the hope that individual package builds will therefore not circumvent it +# (this doesn't always work, but it is more reliable than a simple setting of +# CFLAGS values). +# +# For UcSlugC the architecture value used is based on the standard NSLU2 value, +# however it selects both thumb interwork and thumb code generation to minimise +# build size. The distro allows the choice of thumb or arm code to be overridden +# on a per-package basis by setting NSLU2_THUMB (to empty) in the package .bb file. +# See also the 'override' above. +#NSLU2_THUMB = "-mthumb" +NSLU2_THUMB = "" +TARGET_CC_ARCH = "-march=armv5te -mtune=xscale -mthumb-interwork ${NSLU2_THUMB}" +TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb" +TARGET_LD_ARCH = "" +TARGET_LD_KERNEL_ARCH = "" + #---------------------------------------------------------------------------------- # FIRMWARE CONFIGURATION #---------------------------------------------------------------------------------- -- cgit v1.2.3