From patchwork Thu Dec 6 05:36:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: xtensa: add -mlongcalls to CFLAGS for xtensa From: Chris Zankel X-Patchwork-Id: 204132 Message-Id: <50c0320c.05bf440a.60fe.60b5@mx.google.com> To: buildroot@busybox.net Date: Wed, 5 Dec 2012 21:36:36 -0800 The longcalls option allows calls across a greater range of addresses. This option may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range Signed-off-by: Chris Zankel --- package/Makefile.in | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/Makefile.in b/package/Makefile.in index 9fdc745..98e7f7c 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -56,6 +56,15 @@ TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500mc endif endif +# Use longcalls option for Xtensa globally. +# The 'longcalls' option allows calls across a greater range of addresses, +# and is required for some packages. While this option can degrade both +# code size and performance, the linker can usually optimize away the +# overhead when a call ends up within a certain range. +ifeq ($(BR2_xtensa),y) +TARGET_ABI += -mlongcalls +endif + STAGING_DIR=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/sysroot TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))