diff options
author | Chris Zankel <chris@zankel.net> | 2012-12-05 19:36:36 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-12-10 22:25:45 +0100 |
commit | f7ccd30afbd989085be834b23ac2ea997c50b883 (patch) | |
tree | 738eab72f529c80753a89006df060386c564b381 /package | |
parent | 36f96dbb7816ddeaa7f0a588f0a54ad8fd7a0ee5 (diff) | |
download | buildroot-novena-f7ccd30afbd989085be834b23ac2ea997c50b883.tar.gz buildroot-novena-f7ccd30afbd989085be834b23ac2ea997c50b883.zip |
xtensa: add -mlongcalls to CFLAGS for xtensa
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>
Diffstat (limited to 'package')
-rw-r--r-- | package/Makefile.in | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/package/Makefile.in b/package/Makefile.in index 8dea51eff..4281773a3 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)) |