xtensa: add -mlongcalls to CFLAGS for xtensa
authorChris Zankel <chris@zankel.net>
Wed, 5 Dec 2012 19:36:36 +0000 (19:36 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 10 Dec 2012 21:25:45 +0000 (22:25 +0100)
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 <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Makefile.in

index 8dea51eff38558f558ae8b753f50df6a06c636de..4281773a31ee7e43e0b5e6ccbd1f19181f091b33 100644 (file)
@@ -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))