# (it would need to be conf/machine/tune-xscale.conf) and
# anyway it sets the package architecture to armeb.
TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
+TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
+TARGET_LD_ARCH = ""
+TARGET_LD_KERNEL_ARCH = ""
PACKAGE_ARCH = "armeb"
# Optimization settings. Os works fine and is significantly
# The optimisations chosen here include the ones which 'break'
# symbolic debugging (because the compiler does not include
# enough information to allow the debugger to know where given
-# values are.)
-FULL_OPTIMIZATION = "-fomit-frame-pointer -frename-registers -fweb -funit-at-a-time -Os"
+# values are.) The -fno options are an attempt to cancel explicit
+# use of space consuming options found in some packages (this isn't
+# a complete list, this is just the ones which package writers seem
+# to know about and abuse).
+FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \
+ -fno-unroll-loops -fno-inline-functions \
+ -fweb -funit-at-a-time"
# uClibc does not include sinf or cosf, so the gcc auto-use of
# these functions must be disabled (this only occurs with -O)
# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
# required. Notice that this has to be done for each separately built
# module as well!
-KERNEL_CC += "${TARGET_CC_ARCH} -mno-thumb-interwork"
-# KERNEL_LD +=
+KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
+KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
#do_ixp425_c_patch_fetch () {
# if test ! -e ${DL_DIR}/ixp425_eth.c.patch.md5; then
# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
# required. Notice that this has to be done for each separately built
# module as well!
-KERNEL_CC += "${TARGET_CC_ARCH} -mno-thumb-interwork"
-# KERNEL_LD +=
+KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
+KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
#LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
CFLAGS = "-fno-common -D__KERNEL__ -DMODULE -D__linux -DCPU=33 -DXSCALE=33 \
# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
# required. Notice that this has to be done for each separately built
# module as well!
-KERNEL_CC += "${TARGET_CC_ARCH} -mno-thumb-interwork"
-# KERNEL_LD +=
+KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
+KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
# By putting the added files in place in a separate task before
# do_patch it becomes possible to patch these files.