[Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper

Yann E. MORIN yann.morin.1998 at free.fr
Fri Jul 19 16:13:15 UTC 2013


Peter, All,

On 2013-07-19 08:33 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
> 
>  Yann> From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
>  Yann> If BR_DEBUG_WRAPPER is set in the envirnment, dump the actual command
>  Yann> being exec()uted, to ease debugging issues with the wrapper.
> 
>  Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
>  Yann> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> 
>  Yann> ---
>  Yann> Changes v1 -> v2:
>  Yann>   - style fixes (Thomas)
>  Yann> ---
>  Yann>  toolchain/toolchain-external/ext-toolchain-wrapper.c | 8 ++++++++
>  Yann>  1 file changed, 8 insertions(+)
> 
>  Yann> diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c b/toolchain/toolchain-external/ext-toolchain-wrapper.c
>  Yann> index 460f255..8e56414 100644
>  Yann> --- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
>  Yann> +++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
>  Yann> @@ -136,6 +136,14 @@ int main(int argc, char **argv)
>  Yann>  	/* finish with NULL termination */
>  Yann>  	*cur = NULL;
>  
>  Yann> +	if( getenv("BR_DEBUG_WRAPPER") ) {
>  Yann> +		fprintf( stderr, "path='%s'\n", path );
>  Yann> +		int i;
>  Yann> +		for( i=0; args[i]; i++ ) {
>  Yann> +			fprintf(stderr, "argv[%d]='%s'\n", i, args[i] );
>  Yann> +		}
>  Yann> +	}
>  Yann> +
> 
> That's still not really the code style used elsewhere in this file.

Doh. What happenned? I've just looked at my tree here, adn the style
fixes are applied.

OK. All sorted. I did 'git commit --amend'. I should forgot to pass '-a'
also (or run 'git add' first).

Doh, too bad. Sorry for the inconvenience... :-(

> You could argue that this feature isn't really needed as you can just
> run 'strace -s 1000 -e execve <wrapper>' for basically the same
> information, but OK - This is perhaps a bit more user friendly.

My use-case was to see how the kernel build-system was calling the
wrapper. So I just ran:
    BR_DEBUG_WRAPPER=1 make
in my Buildroot build dir.

> With that in mind, I think a more sensible output format is something
> you can directly cut'n'paste and execute in the shell (after perhaps
> tweaking something), so I've changed it to simply print the args space
> seperated like this:

Yet, one of the motivation behind the \n-separated args was to easily
see the args, without having to 'parse' the command line with the eyes.

The Linux kernel is passing something like 40+ args to the wrapper, so
the line is getting rather long, and difficult to grok visually, while
the one-arg per line output made it very easy.

But OK, that's sane, too.

> Committed with these changes, thanks.

Again, sorry for the inconvenience. :-(

I already owed you one ${BEVERAGE} in Edimburgh; you can make that two,
now! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list