[Buildroot] [PATCH v2] xtensa: add config option to enable longcalls option
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Mon Dec 3 13:09:12 UTC 2012
Dear Chris Zankel,
On Mon, 3 Dec 2012 00:58:46 -0800, Chris Zankel wrote:
> The longcalls option allows calls across a greater range of addresses.
>
> This option should be used when call targets can potentially be
> out of range. It may degrade both code size and performance, but
> the linker can generally optimize away the unnecessary overhead
> when a call ends up within range.
>
> This option is enabled by default.
>
> Signed-off-by: Chris Zankel <chris at zankel.net>
> ---
> arch/Config.in.xtensa | 17 +++++++++++++++++
> package/Makefile.in | 6 ++++++
> 2 files changed, 23 insertions(+)
>
> diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa
> index 60c03f5..a979108 100644
> --- a/arch/Config.in.xtensa
> +++ b/arch/Config.in.xtensa
> @@ -35,3 +35,20 @@ config BR2_XTENSA_OVERLAY_DIR
>
> config BR2_ARCH
> default "xtensa" if BR2_xtensa
> +
> +menu "Target build options"
> +
> +config BR2_XTENSA_LONGCALLS
> + bool "Enable longcalls option"
> + default y
> + help
> + Enable or disable transformation of call instructions to allow
> + calls across a greater range of addresses.
> + This option should be used when call targets can potentially be
> + out of range. It may degrade both code size and performance, but
> + the linker can generally optimize away the unnecessary overhead
> + when a call ends up within range.
> +
> + Should be enabled by default.
> +
> +endmenu
Do we really want that as a configurable option? Isn't it possible
instead to always generate longcalls, or to fix this on a per-package
basis, when needed?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list