* [Buildroot] [PATCH] external toolchain: add arbitrary arguments to sysroot discovery and toolchain wrapper
@ 2011-05-06 21:57 Matias Garcia
2011-05-08 17:04 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Matias Garcia @ 2011-05-06 21:57 UTC (permalink / raw)
To: buildroot
CodeSourcery uses non-standard arguments to determine which sysroot to
use and to set other optimizations (e.g. which floating point ABI to
use). This patch allows one to pass an arbitrary argument to the sysroot
discovery in ext-tool.mk and adds the same option to the argument list
in ext-toolchain-wrapper.c. I have not tested it with an empty option.
Use at your own risk as this is my first open-source patch ever... (Am I
supposed to write 'signed-off by...'?)
Cheers,
Matias
diff --git a/toolchain/toolchain-external/Config.in
b/toolchain/toolchain-external/Config.in
index ca9892b..3b8ed2c 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -125,6 +125,14 @@ config BR2_TOOLCHAIN_EXTERNAL_PATH
help
Path to where the external toolchain is installed.
+config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_ARGS
+ string "Custom toolchain arguments (e.g. for selecting
sysroot/optimizations)"
+ default ""
+ help
+ These arguments will be passed to the external toolchain
+ to determine its sysroot, and also passed to the toolchain
+ when calling the wrapper generated in $(HOST_DIR)/usr/bin.
+
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
string "Toolchain prefix"
depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
diff --git a/toolchain/toolchain-external/ext-tool.mk
b/toolchain/toolchain-external/ext-tool.mk
index 328f908..019bf30 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -132,6 +132,10 @@ CC_TARGET_ABI_:=$(call qstrip,$(BR2_GCC_TARGET_ABI))
# march/mtune/floating point mode needs to be passed to the external
toolchain
# to select the right multilib variant
+ifneq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_ARGS),)
+TOOLCHAIN_EXTERNAL_CFLAGS += $(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_ARGS)
+TOOLCHAIN_EXTERNAL_WRAPPER_ARGS +=
-DBR_OPT='$(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_ARGS)'
+endif
ifneq ($(CC_TARGET_TUNE_),)
TOOLCHAIN_EXTERNAL_CFLAGS += -mtune=$(CC_TARGET_TUNE_)
TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_TUNE='"$(CC_TARGET_TUNE_)"'
diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c
b/toolchain/toolchain-external/ext-toolchain-wrapper.c
index a485e74..2fc22c4 100644
--- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
+++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
@@ -22,6 +22,9 @@ static char path[PATH_MAX] = BR_CROSS_PATH;
static char *args[MAXARGS] = {
path,
"--sysroot", BR_SYSROOT,
+#ifdef BR_OPT
+ BR_OPT,
+#endif /* BR_OPT */
#ifdef BR_ARCH
"-march=" BR_ARCH,
#endif /* BR_ARCH */
--
*Matias Garcia*
/Embedded Software Developer/
Ross Video | Live Production Technology
www.rossvideo.com <http://www.rossvideo.com>
^ permalink raw reply related [flat|nested] 5+ messages in thread* [Buildroot] [PATCH] external toolchain: add arbitrary arguments to sysroot discovery and toolchain wrapper
2011-05-06 21:57 [Buildroot] [PATCH] external toolchain: add arbitrary arguments to sysroot discovery and toolchain wrapper Matias Garcia
@ 2011-05-08 17:04 ` Thomas Petazzoni
2011-05-10 13:25 ` Matias Garcia
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2011-05-08 17:04 UTC (permalink / raw)
To: buildroot
Hello Mathias,
On Fri, 06 May 2011 17:57:24 -0400
Matias Garcia <mgarcia@rossvideo.com> wrote:
> CodeSourcery uses non-standard arguments to determine which sysroot
> to use and to set other optimizations (e.g. which floating point ABI
> to use). This patch allows one to pass an arbitrary argument to the
> sysroot discovery in ext-tool.mk and adds the same option to the
> argument list in ext-toolchain-wrapper.c. I have not tested it with
> an empty option. Use at your own risk as this is my first open-source
> patch ever... (Am I supposed to write 'signed-off by...'?)
While the goal is correct, I don't like this implementation. The
toolchain wrapper should just make use of the flags in
BR2_TARGET_OPTIMIZATION configuration option, and not only -march,
-mtune, -mabi, etc. options which are currently being used.
Regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] external toolchain: add arbitrary arguments to sysroot discovery and toolchain wrapper
2011-05-08 17:04 ` Thomas Petazzoni
@ 2011-05-10 13:25 ` Matias Garcia
[not found] ` <1305733040.7239.20.camel@matias-lnx-host>
0 siblings, 1 reply; 5+ messages in thread
From: Matias Garcia @ 2011-05-10 13:25 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Sun, 2011-05-08 at 19:04 +0200, Thomas Petazzoni wrote:
> Hello Mathias,
>
> On Fri, 06 May 2011 17:57:24 -0400
> Matias Garcia <mgarcia@rossvideo.com> wrote:
>
> > CodeSourcery uses non-standard arguments to determine which sysroot
> > to use and to set other optimizations (e.g. which floating point ABI
> > to use). This patch allows one to pass an arbitrary argument to the
> > sysroot discovery in ext-tool.mk and adds the same option to the
> > argument list in ext-toolchain-wrapper.c. I have not tested it with
> > an empty option. Use at your own risk as this is my first open-source
> > patch ever... (Am I supposed to write 'signed-off by...'?)
>
> While the goal is correct, I don't like this implementation. The
> toolchain wrapper should just make use of the flags in
> BR2_TARGET_OPTIMIZATION configuration option, and not only -march,
> -mtune, -mabi, etc. options which are currently being used.
I thought of that first, but I figured BR2_TARGET_OPTIMIZATION may be
used for flags you wouldn't want sent to the linker (for example) in
EVERY circumstance. In other words, I thought the wrapper ought to be
for sysroot selection primarily. If you disagree, I'd be glad to change
it.
Any other comments?
What's the usual procedure for submitting patches? I didn't find one on
the website. I also see most people have a file summary at the top.
Cheers,
Matias
>
> Regards,
>
> Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-05-18 21:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-06 21:57 [Buildroot] [PATCH] external toolchain: add arbitrary arguments to sysroot discovery and toolchain wrapper Matias Garcia
2011-05-08 17:04 ` Thomas Petazzoni
2011-05-10 13:25 ` Matias Garcia
[not found] ` <1305733040.7239.20.camel@matias-lnx-host>
2011-05-18 16:02 ` Thomas Petazzoni
2011-05-18 21:17 ` Matias Garcia
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox