All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch yem-misc-updates
@ 2013-07-18 21:24 Yann E. MORIN
  2013-07-18 21:24 ` [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes Yann E. MORIN
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:24 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Hello All!

Here are a small series with a few mostly-unrelated changes:
  - bump RPi kernel for misc fixes
  - fix nss-mdns instalation and runtime
  - instrument the external toolchain wrapper

Regards,
Yann E. MORIN.


The following changes since commit c34cd9e2dab7c37bb0bdea6f43e57addf2b710e2:

  ti-gfx: use BR2_ARM_EABIHF (2013-07-18 13:09:57 +0200)

are available in the git repository at:

  git://gitorious.org/buildroot/buildroot.git yem-misc-updates

for you to fetch changes up to 574ef0eb7e941dcc6c9dba3540f4aa1c213472bc:

  toolchain: instrument external toolchain wrapper (2013-07-18 23:20:34 +0200)

----------------------------------------------------------------
Yann E. MORIN (4):
      defconfig/rpi: bump kernel for misc fixes
      package/nss-mdns: fix avahi socket location
      package/nss-mdns: do not overwrite user's nsswitch.conf
      toolchain: instrument external toolchain wrapper

 configs/rpi_defconfig                                |  2 +-
 package/nss-mdns/nss-mdns.mk                         |  5 ++++-
 package/nss-mdns/nsswitch.conf                       | 15 ---------------
 toolchain/toolchain-external/ext-toolchain-wrapper.c |  8 ++++++++
 4 files changed, 13 insertions(+), 17 deletions(-)
 delete mode 100644 package/nss-mdns/nsswitch.conf

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes
  2013-07-18 21:24 [Buildroot] [pull request] Pull request for branch yem-misc-updates Yann E. MORIN
@ 2013-07-18 21:24 ` Yann E. MORIN
  2013-07-18 22:33   ` Peter Korsgaard
  2013-07-18 21:24 ` [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location Yann E. MORIN
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:24 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Bump for a few fixes:
  - fix for slow SDcards
  - fix for USB interrupts
  - fix for tracing functions

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 configs/rpi_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index 3df440f..9d608f1 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -17,7 +17,7 @@ BR2_DEFAULT_KERNEL_VERSION="3.6.11"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="53f7e0b"
+BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="0006326"
 BR2_LINUX_KERNEL_USE_DEFCONFIG=y
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_ZIMAGE=y
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location
  2013-07-18 21:24 [Buildroot] [pull request] Pull request for branch yem-misc-updates Yann E. MORIN
  2013-07-18 21:24 ` [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes Yann E. MORIN
@ 2013-07-18 21:24 ` Yann E. MORIN
  2013-07-18 22:34   ` Peter Korsgaard
  2013-07-18 21:24 ` [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf Yann E. MORIN
  2013-07-18 21:24 ` [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper Yann E. MORIN
  3 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:24 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

In buildroot, the avahi socket is located in /var/run/avahi-daemon,
not in /usr/var/run/avahi-daemon/socket.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/nss-mdns/nss-mdns.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/nss-mdns/nss-mdns.mk b/package/nss-mdns/nss-mdns.mk
index ea53bc2..4d36633 100644
--- a/package/nss-mdns/nss-mdns.mk
+++ b/package/nss-mdns/nss-mdns.mk
@@ -7,6 +7,8 @@
 NSS_MDNS_VERSION=0.10
 NSS_MDNS_SITE=http://0pointer.de/lennart/projects/nss-mdns
 
+NSS_MDNS_CONF_OPT += --localstatedir=/var
+
 define NSS_MDNS_INSTALL_CONFIG
 	$(INSTALL) -D -m 0664 package/nss-mdns/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf
 endef
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf
  2013-07-18 21:24 [Buildroot] [pull request] Pull request for branch yem-misc-updates Yann E. MORIN
  2013-07-18 21:24 ` [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes Yann E. MORIN
  2013-07-18 21:24 ` [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location Yann E. MORIN
@ 2013-07-18 21:24 ` Yann E. MORIN
  2013-07-18 22:39   ` Peter Korsgaard
  2013-07-18 21:24 ` [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper Yann E. MORIN
  3 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:24 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Instead of over-writing the nsswitch.conf file (which may already
contain user's specific configuration if it comes from a rootfs
overlay, or a custom skeleton), just replace the 'hosts' line.

Remove now-useless custom nsswitch.conf file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/nss-mdns/nss-mdns.mk   |  3 ++-
 package/nss-mdns/nsswitch.conf | 15 ---------------
 2 files changed, 2 insertions(+), 16 deletions(-)
 delete mode 100644 package/nss-mdns/nsswitch.conf

diff --git a/package/nss-mdns/nss-mdns.mk b/package/nss-mdns/nss-mdns.mk
index 4d36633..83d9a2a 100644
--- a/package/nss-mdns/nss-mdns.mk
+++ b/package/nss-mdns/nss-mdns.mk
@@ -10,7 +10,8 @@ NSS_MDNS_SITE=http://0pointer.de/lennart/projects/nss-mdns
 NSS_MDNS_CONF_OPT += --localstatedir=/var
 
 define NSS_MDNS_INSTALL_CONFIG
-	$(INSTALL) -D -m 0664 package/nss-mdns/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf
+	sed -r -i -e 's/^(hosts:[[:space:]]+).*/\1files mdns4_minimal [NOTFOUND=return] dns mdns4/' \
+	    $(TARGET_DIR)/etc/nsswitch.conf
 endef
 
 NSS_MDNS_POST_INSTALL_TARGET_HOOKS += NSS_MDNS_INSTALL_CONFIG
diff --git a/package/nss-mdns/nsswitch.conf b/package/nss-mdns/nsswitch.conf
deleted file mode 100644
index 94174e0..0000000
--- a/package/nss-mdns/nsswitch.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# /etc/nsswitch.conf
-
-passwd:         compat
-group:          compat
-shadow:         compat
-
-hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
-networks:       files
-
-protocols:      db files
-services:       db files
-ethers:         db files
-rpc:            db files
-
-netgroup:       nis
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper
  2013-07-18 21:24 [Buildroot] [pull request] Pull request for branch yem-misc-updates Yann E. MORIN
                   ` (2 preceding siblings ...)
  2013-07-18 21:24 ` [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf Yann E. MORIN
@ 2013-07-18 21:24 ` Yann E. MORIN
  2013-07-18 21:32   ` Thomas Petazzoni
  2013-07-18 21:54   ` [Buildroot] [PATCHv2 " Yann E. MORIN
  3 siblings, 2 replies; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:24 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

If BR_DEBUG_WRAPPER is set in the envirnment, dump the actual command
being exec()uted, to ease debugging issues with the wrapper.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 toolchain/toolchain-external/ext-toolchain-wrapper.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c b/toolchain/toolchain-external/ext-toolchain-wrapper.c
index 460f255..8e56414 100644
--- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
+++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
@@ -136,6 +136,14 @@ int main(int argc, char **argv)
 	/* finish with NULL termination */
 	*cur = NULL;
 
+	if( getenv("BR_DEBUG_WRAPPER") ) {
+		fprintf( stderr, "path='%s'\n", path );
+		int i;
+		for( i=0; args[i]; i++ ) {
+			fprintf(stderr, "argv[%d]='%s'\n", i, args[i] );
+		}
+	}
+
 	if (execv(path, args))
 		perror(path);
 
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper
  2013-07-18 21:24 ` [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper Yann E. MORIN
@ 2013-07-18 21:32   ` Thomas Petazzoni
  2013-07-18 21:39     ` Yann E. MORIN
  2013-07-18 21:54   ` [Buildroot] [PATCHv2 " Yann E. MORIN
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2013-07-18 21:32 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

I like the feature, but it would be nice if the coding was more
consistent with the rest of the code, see below:

On Thu, 18 Jul 2013 23:24:15 +0200, Yann E. MORIN wrote:

> +	if( getenv("BR_DEBUG_WRAPPER") ) {

No space after ( and before ).

> +		fprintf( stderr, "path='%s'\n", path );

Dirro.

> +		int i;

Variable declaration in the middle of the code. I know it's C99 ok, but
I'd prefer not to have that (just like the kernel).

> +		for( i=0; args[i]; i++ ) {

		for (i = 0; args[i]; i++)

> +			fprintf(stderr, "argv[%d]='%s'\n", i, args[i] );

Ditto space before ).

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] 15+ messages in thread

* [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper
  2013-07-18 21:32   ` Thomas Petazzoni
@ 2013-07-18 21:39     ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:39 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-07-18 23:32 +0200, Thomas Petazzoni spake thusly:
> I like the feature, but it would be nice if the coding was more
> consistent with the rest of the code, see below:

Sure! :-)

It initially was a quick'n'dirty hack, and I eventually thought it might
be useful upstream too. I'll re-read my code better next time... :-/

> On Thu, 18 Jul 2013 23:24:15 +0200, Yann E. MORIN wrote:
> > +	if( getenv("BR_DEBUG_WRAPPER") ) {
> No space after ( and before ).

Ack.

> > +		fprintf( stderr, "path='%s'\n", path );
> Dirro.

Ditto?
Ditto! ;-)

> > +		int i;
> Variable declaration in the middle of the code. I know it's C99 ok, but
> I'd prefer not to have that (just like the kernel).

Doh. Right.

gcc also whines about this (which was my original code):
	for( int i=0; args[i]; i++ ) {

> > +		for( i=0; args[i]; i++ ) {
> 		for (i = 0; args[i]; i++)

Ack.

> > +			fprintf(stderr, "argv[%d]='%s'\n", i, args[i] );
> Ditto space before ).

Atta! I'll fix and respin. Thanks! :-)

Regsards,
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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper
  2013-07-18 21:24 ` [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper Yann E. MORIN
  2013-07-18 21:32   ` Thomas Petazzoni
@ 2013-07-18 21:54   ` Yann E. MORIN
  2013-07-19  6:33     ` Peter Korsgaard
  1 sibling, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-18 21:54 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

If BR_DEBUG_WRAPPER is set in the envirnment, dump the actual command
being exec()uted, to ease debugging issues with the wrapper.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
Changes v1 -> v2:
  - style fixes (Thomas)
---
 toolchain/toolchain-external/ext-toolchain-wrapper.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c b/toolchain/toolchain-external/ext-toolchain-wrapper.c
index 460f255..8e56414 100644
--- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
+++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
@@ -136,6 +136,14 @@ int main(int argc, char **argv)
 	/* finish with NULL termination */
 	*cur = NULL;
 
+	if( getenv("BR_DEBUG_WRAPPER") ) {
+		fprintf( stderr, "path='%s'\n", path );
+		int i;
+		for( i=0; args[i]; i++ ) {
+			fprintf(stderr, "argv[%d]='%s'\n", i, args[i] );
+		}
+	}
+
 	if (execv(path, args))
 		perror(path);
 
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes
  2013-07-18 21:24 ` [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes Yann E. MORIN
@ 2013-07-18 22:33   ` Peter Korsgaard
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2013-07-18 22:33 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Bump for a few fixes:
 Yann>   - fix for slow SDcards
 Yann>   - fix for USB interrupts
 Yann>   - fix for tracing functions

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location
  2013-07-18 21:24 ` [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location Yann E. MORIN
@ 2013-07-18 22:34   ` Peter Korsgaard
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2013-07-18 22:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> In buildroot, the avahi socket is located in /var/run/avahi-daemon,
 Yann> not in /usr/var/run/avahi-daemon/socket.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf
  2013-07-18 21:24 ` [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf Yann E. MORIN
@ 2013-07-18 22:39   ` Peter Korsgaard
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2013-07-18 22:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Instead of over-writing the nsswitch.conf file (which may already
 Yann> contain user's specific configuration if it comes from a rootfs
 Yann> overlay, or a custom skeleton), just replace the 'hosts' line.

It's only an issue for custom skeletons, not overlays as they are only
added after all the packages are built.

Committed with the description adjusted, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper
  2013-07-18 21:54   ` [Buildroot] [PATCHv2 " Yann E. MORIN
@ 2013-07-19  6:33     ` Peter Korsgaard
  2013-07-19 16:13       ` Yann E. MORIN
  0 siblings, 1 reply; 15+ messages in thread
From: Peter Korsgaard @ 2013-07-19  6:33 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> From: "Yann E. MORIN" <yann.morin.1998@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@free.fr>
 Yann> Cc: Thomas Petazzoni <thomas.petazzoni@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.

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.

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:

BR_DEBUG_WRAPPER=1 ./output/host/usr/bin/arm-none-linux-gnueabi-gcc --version
Executing /home/peko/source/buildroot/output/host/opt/ext-toolchain/bin/arm-none-linux-gnueabi-gcc --sysroot /home/peko/source/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot -march=armv5te -mtune=arm926ej-s -mabi=aapcs-linux -mfloat-abi=soft -msoft-float -marm -pipe --version
arm-none-linux-gnueabi-gcc (Sourcery CodeBench Lite 2013.05-24) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Committed with these changes, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper
  2013-07-19  6:33     ` Peter Korsgaard
@ 2013-07-19 16:13       ` Yann E. MORIN
  2013-07-19 21:30         ` Peter Korsgaard
  0 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-19 16:13 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2013-07-19 08:33 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  Yann> From: "Yann E. MORIN" <yann.morin.1998@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@free.fr>
>  Yann> Cc: Thomas Petazzoni <thomas.petazzoni@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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper
  2013-07-19 16:13       ` Yann E. MORIN
@ 2013-07-19 21:30         ` Peter Korsgaard
  2013-07-19 21:39           ` Yann E. MORIN
  0 siblings, 1 reply; 15+ messages in thread
From: Peter Korsgaard @ 2013-07-19 21:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

Hi,

 >> That's still not really the code style used elsewhere in this file.

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

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

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

No problem ;)

 >> 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.

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

So you are only interested in the arguments to the wrapper, or do you
want to see the final arguments to the real compiler?


 >> 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:

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

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

Ok, but a kernel build with 40+ lines per gcc invocation is presumably
also quite overwhelming?


 Yann> Again, sorry for the inconvenience. :-(

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

heh, sounds good ;)

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCHv2 4/4] toolchain: instrument external toolchain wrapper
  2013-07-19 21:30         ` Peter Korsgaard
@ 2013-07-19 21:39           ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2013-07-19 21:39 UTC (permalink / raw)
  To: buildroot

On 2013-07-19 23:30 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
>  >> 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.
> 
>  Yann> My use-case was to see how the kernel build-system was calling the
>  Yann> wrapper. So I just ran:
>  Yann>     BR_DEBUG_WRAPPER=1 make
>  Yann> in my Buildroot build dir.
> 
> So you are only interested in the arguments to the wrapper, or do you
> want to see the final arguments to the real compiler?

No, I'm interested in the final, complete argv[*].

>  >> 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:
> 
>  Yann> Yet, one of the motivation behind the \n-separated args was to easily
>  Yann> see the args, without having to 'parse' the command line with the eyes.
> 
>  Yann> The Linux kernel is passing something like 40+ args to the wrapper, so
>  Yann> the line is getting rather long, and difficult to grok visually, while
>  Yann> the one-arg per line output made it very easy.
> 
> Ok, but a kernel build with 40+ lines per gcc invocation is presumably
> also quite overwhelming?

The trick is to wait it break, and re-run with BR_DEBUG_WRAPPER=1 set and
then inspect the reason for the breakage.

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

Remember: for each ${BEVERAGE} I owe you, I get one too! :-)
/me is looking forward to it!

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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-07-19 21:39 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-18 21:24 [Buildroot] [pull request] Pull request for branch yem-misc-updates Yann E. MORIN
2013-07-18 21:24 ` [Buildroot] [PATCH 1/4] defconfig/rpi: bump kernel for misc fixes Yann E. MORIN
2013-07-18 22:33   ` Peter Korsgaard
2013-07-18 21:24 ` [Buildroot] [PATCH 2/4] package/nss-mdns: fix avahi socket location Yann E. MORIN
2013-07-18 22:34   ` Peter Korsgaard
2013-07-18 21:24 ` [Buildroot] [PATCH 3/4] package/nss-mdns: do not overwrite user's nsswitch.conf Yann E. MORIN
2013-07-18 22:39   ` Peter Korsgaard
2013-07-18 21:24 ` [Buildroot] [PATCH 4/4] toolchain: instrument external toolchain wrapper Yann E. MORIN
2013-07-18 21:32   ` Thomas Petazzoni
2013-07-18 21:39     ` Yann E. MORIN
2013-07-18 21:54   ` [Buildroot] [PATCHv2 " Yann E. MORIN
2013-07-19  6:33     ` Peter Korsgaard
2013-07-19 16:13       ` Yann E. MORIN
2013-07-19 21:30         ` Peter Korsgaard
2013-07-19 21:39           ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.