Skip to contentSkip to conversation

toolchain: Make vendor configurable

PATCH New Paul Cercueil 7 participants 36 messages Apr 3, 2014 – Oct 12, 2014 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/11 toolchain: Make vendor configurable

From: Maarten ter Huurne <[email protected]>

This is used in the GNU configuration name (machine triple/quadruple).

---
 Makefile                                |  1 +
 package/Makefile.in                     |  2 +-
 toolchain/toolchain-buildroot/Config.in | 11 +++++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)
Makefile +1 -0
index 41c51c6..09be13c 100644
@@ -307,6 +307,7 @@ QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q)
 
 # Strip off the annoying quoting
 ARCH:=$(call qstrip,$(BR2_ARCH))
+VENDOR:=$(call qstrip,$(BR2_VENDOR))
 
 KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/i.86/i386/ -e s/sun4u/sparc64/ \
package/Makefile.in +1 -1
index 454f614..d102009 100644
@@ -21,7 +21,7 @@ MAKE1:=$(HOSTMAKE) -j1
 MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS))
 
 # Compute GNU_TARGET_NAME
-GNU_TARGET_NAME=$(ARCH)-buildroot-$(TARGET_OS)-$(LIBC)$(ABI)
+GNU_TARGET_NAME=$(ARCH)-$(VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
 
 # Blackfin FLAT needs uclinux
 ifeq ($(BR2_bfin)$(BR2_BINFMT_FLAT),yy)
toolchain/toolchain-buildroot/Config.in +11 -0
index 07db50b..9d97487 100644
@@ -70,6 +70,17 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC
 	default "glibc"  if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
 	default "glibc"  if BR2_TOOLCHAIN_BUILDROOT_GLIBC
 
+config BR2_VENDOR
+	string "Toolchain vendor in GNU configuration name"
+	default "buildroot"
+	help
+	  The GNU build system identifies a machine using configuration name
+	  in the following format:
+	    <arch>-<vendor>-<kernel>-<os>
+	  This option lets you select the vendor part of that string.
+
+	  Usually it is best to stick with the default value of "buildroot".
+
 source "package/uclibc/Config.in"
 source "package/glibc/Config.in"
 source "package/binutils/Config.in.host"
Signature · 1 line
1.9.0
#1 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

This option is actually already used in GCC's package.

This allows to optimize the toolchain for a specific MIPS processor while supporting more than one family of processors.

---
 arch/Config.in.mips | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/Config.in.mips +10 -0
index 20951e0..e4160a2 100644
@@ -83,6 +83,16 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 
+config BR2_GCC_TARGET_TUNE
+	default "mips1"		if BR2_mips_1
+	default "mips2"		if BR2_mips_2
+	default "mips3"		if BR2_mips_3
+	default "mips4"		if BR2_mips_4
+	default "mips32"	if BR2_mips_32
+	default "mips32r2"	if BR2_mips_32r2
+	default "mips64"	if BR2_mips_64
+	default "mips64r2"	if BR2_mips_64r2
+
 config BR2_MIPS_OABI32
 	bool
 	default y		if BR2_mips || BR2_mipsel
Signature · 1 line
1.9.0
#2 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

This option is actually already used in GCC's package.

This allows to optimize the toolchain for a specific MIPS processor while supporting more than one family of processors.

Is that really needed? man gcc says:

When this option is not used, GCC optimizes for the processor specified by -march.

Since this patch would pass the same value to --with-arch and --with-tune, and since this is the default of gcc, is it really needed?

Neither ACKing nor NAKing this patch. Can you explain a bit more why we would want that, given the above explanations?

Regards,
Yann E. MORIN.

Quoted 33 lines
---
 arch/Config.in.mips | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/Config.in.mips +10 -0
index 20951e0..e4160a2 100644
@@ -83,6 +83,16 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 
+config BR2_GCC_TARGET_TUNE
+	default "mips1"		if BR2_mips_1
+	default "mips2"		if BR2_mips_2
+	default "mips3"		if BR2_mips_3
+	default "mips4"		if BR2_mips_4
+	default "mips32"	if BR2_mips_32
+	default "mips32r2"	if BR2_mips_32r2
+	default "mips64"	if BR2_mips_64
+	default "mips64r2"	if BR2_mips_64r2
+
 config BR2_MIPS_OABI32
 	bool
 	default y		if BR2_mips || BR2_mipsel
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

Hi Yann,

This patch would pass the same value to --with-arch and --with-tune, unless you define a different value for BR2_GCC_TARGET_TUNE in your defconfig. We use that for the Ingenic jz4740 processor, which is a mips32 processor but running better the code tuned for mips32r2.

Quoted 55 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

This option is actually already used in GCC's package.

This allows to optimize the toolchain for a specific MIPS processor while supporting more than one family of processors.

Is that really needed? man gcc says:

When this option is not used, GCC optimizes for the processor specified by -march.

Since this patch would pass the same value to --with-arch and --with-tune, and since this is the default of gcc, is it really needed?

Neither ACKing nor NAKing this patch. Can you explain a bit more why we would want that, given the above explanations?

Regards,
Yann E. MORIN.

Quoted 33 lines
---
  arch/Config.in.mips | 10 ++++++++++
  1 file changed, 10 insertions(+)
arch/Config.in.mips +10 -0
index 20951e0..e4160a2 100644
@@ -83,6 +83,16 @@ config BR2_GCC_TARGET_ARCH
  	default "mips64"	if BR2_mips_64
  	default "mips64r2"	if BR2_mips_64r2
 
+config BR2_GCC_TARGET_TUNE
+	default "mips1"		if BR2_mips_1
+	default "mips2"		if BR2_mips_2
+	default "mips3"		if BR2_mips_3
+	default "mips4"		if BR2_mips_4
+	default "mips32"	if BR2_mips_32
+	default "mips32r2"	if BR2_mips_32r2
+	default "mips64"	if BR2_mips_64
+	default "mips64r2"	if BR2_mips_64r2
+
  config BR2_MIPS_OABI32
  	bool
  	default y		if BR2_mips || BR2_mipsel
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
#4 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

Paul, All,

On 2014-04-03 23:50 +0200, Paul Cercueil spake thusly:

Quoted 2 lines

This patch would pass the same value to --with-arch and --with-tune, unless you define a different value for BR2_GCC_TARGET_TUNE in your defconfig.

I see what you expect, but since BR2_GCC_TARGET_TUNE is a prompt-less option, setting it in a defconfig will be overriden when you use that defconfig.

For example:

    $ cat defconfig
    BR2_MIPS=y
    BR2_GCC_TARGET_ARCH="FOO-YEM"
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    [...]
    $ grep FOO .config
    [empty, nada, zilch]

So, even if you set it in your defconfig, BR2_GCC_TARGET_ARCH is lost.

Ditto for BR2_GCC_TARGET_TUNE.

Quoted 3 lines

We
use that for the Ingenic jz4740 processor, which is a mips32 processor but running better the code tuned for mips32r2.

Oh, I see. But that's not gonna happen with this code, I'm afraid.

Can you double-check that it is indeed working for you? Because if it does, we have a really big bug in Kconfig (Oh, no, not one more...)

Regards,
Yann E. MORIN.

Quoted 56 lines · Yann E. MORIN
Quoted 54 lines

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

This option is actually already used in GCC's package.

This allows to optimize the toolchain for a specific MIPS processor while supporting more than one family of processors.

Is that really needed? man gcc says:

When this option is not used, GCC optimizes for the processor specified by -march.

Since this patch would pass the same value to --with-arch and --with-tune, and since this is the default of gcc, is it really needed?

Neither ACKing nor NAKing this patch. Can you explain a bit more why we would want that, given the above explanations?

Regards,
Yann E. MORIN.

Quoted 32 lines
---
 arch/Config.in.mips | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/Config.in.mips +10 -0
index 20951e0..e4160a2 100644
@@ -83,6 +83,16 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
+config BR2_GCC_TARGET_TUNE
+	default "mips1"		if BR2_mips_1
+	default "mips2"		if BR2_mips_2
+	default "mips3"		if BR2_mips_3
+	default "mips4"		if BR2_mips_4
+	default "mips32"	if BR2_mips_32
+	default "mips32r2"	if BR2_mips_32r2
+	default "mips64"	if BR2_mips_64
+	default "mips64r2"	if BR2_mips_64r2
+
 config BR2_MIPS_OABI32
 	bool
 	default y		if BR2_mips || BR2_mipsel
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

Hi,

Quoted 26 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:50 +0200, Paul Cercueil spake thusly:

Quoted 2 lines

This patch would pass the same value to --with-arch and --with-tune, unless you define a different value for BR2_GCC_TARGET_TUNE in your defconfig.

I see what you expect, but since BR2_GCC_TARGET_TUNE is a prompt-less option, setting it in a defconfig will be overriden when you use that defconfig.

For example:

     $ cat defconfig
     BR2_MIPS=y
     BR2_GCC_TARGET_ARCH="FOO-YEM"
     $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
     [...]
     $ grep FOO .config
     [empty, nada, zilch]

So, even if you set it in your defconfig, BR2_GCC_TARGET_ARCH is lost.

Ditto for BR2_GCC_TARGET_TUNE.

Quoted 3 lines

We
use that for the Ingenic jz4740 processor, which is a mips32 processor but running better the code tuned for mips32r2.

Quoted 7 lines

Oh, I see. But that's not gonna happen with this code, I'm afraid.

Can you double-check that it is indeed working for you? Because if it does, we have a really big bug in Kconfig (Oh, no, not one more...)

Regards,
Yann E. MORIN.

I confirm it works. Why is it a bug?

Paul

Quoted 56 lines
Quoted 56 lines · Yann E. MORIN
Quoted 54 lines

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

This option is actually already used in GCC's package.

This allows to optimize the toolchain for a specific MIPS processor while supporting more than one family of processors.

Is that really needed? man gcc says:

When this option is not used, GCC optimizes for the processor specified by -march.

Since this patch would pass the same value to --with-arch and --with-tune, and since this is the default of gcc, is it really needed?

Neither ACKing nor NAKing this patch. Can you explain a bit more why we would want that, given the above explanations?

Regards,
Yann E. MORIN.

Quoted 32 lines
---
  arch/Config.in.mips | 10 ++++++++++
  1 file changed, 10 insertions(+)
arch/Config.in.mips +10 -0
index 20951e0..e4160a2 100644
@@ -83,6 +83,16 @@ config BR2_GCC_TARGET_ARCH
  	default "mips64"	if BR2_mips_64
  	default "mips64r2"	if BR2_mips_64r2
+config BR2_GCC_TARGET_TUNE
+	default "mips1"		if BR2_mips_1
+	default "mips2"		if BR2_mips_2
+	default "mips3"		if BR2_mips_3
+	default "mips4"		if BR2_mips_4
+	default "mips32"	if BR2_mips_32
+	default "mips32r2"	if BR2_mips_32r2
+	default "mips64"	if BR2_mips_64
+	default "mips64r2"	if BR2_mips_64r2
+
  config BR2_MIPS_OABI32
  	bool
  	default y		if BR2_mips || BR2_mipsel
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
#6 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

Paul, All,

On 2014-04-05 17:53 +0200, Paul Cercueil spake thusly:

Quoted 1 line · Yann E. MORIN

[--SNIP--]

Quoted 4 lines
Quoted 2 lines

Can you double-check that it is indeed working for you? Because if it does, we have a really big bug in Kconfig (Oh, no, not one more...)

I confirm it works.

I checked your patch:

    $ cat defconfig
    BR2_mips=y
    BR2_GCC_TARGET_TUNE="mips32r2"
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    [...]
    $ grep BR2_GCC_TARGET_TUNE .config
    BR2_GCC_TARGET_TUNE="mips32"

So no, it does not work as you explained you were expecting it to work:

---
This patch would pass the same value to --with-arch and --with-tune, unless you define a different value for BR2_GCC_TARGET_TUNE in your defconfig. We use that for the Ingenic jz4740 processor, which is a mips32 processor but running better the code tuned for mips32r2.
---

From what I understand, you have a defconfig file where you manually wrote:

    BR2_GCC_TARGET_TUNE="mips32r2"

But as shown above, that does not work.

Quoted 1 line

Why is it a bug?

Because, for a prompt-less value, kconfig is expected to discard any value and only use the 'default' values. And from the above, it is what is hapenning: a value from a defconfig is properly over-written by what kconfig computes for this prompt-less value.

So I stand on my position: I NAK this patch, because it does not fix the explained reason for it.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#7 lore raw

PATCH 2/11 arch: MIPS: Add config option BR2_GCC_TARGET_TUNE

In reply to Paul Cercueil
Quoted 7 lines · Paul Cercueil

Hi Yann,

This patch would pass the same value to --with-arch and --with-tune, unless you define a different value for BR2_GCC_TARGET_TUNE in your defconfig. We use that for the Ingenic jz4740 processor, which is a mips32 processor but running better the code tuned for mips32r2.

Hi Paul,

I don't understand this patch as well. If the jz4740 needs a mips32r2 userland, why not use Target Options-> Target Architecture Variant -> mips32r2? You want to use the same toolchain for non-mips32r2 targets as well?

The TARGET_TUNE option has been removed for MIPS in f60dafe06833a17540608d1c8172d6535c513f1e "arch/mips: Set BR2_GCC_TARGET_ARCH for MIPS"

and i see no good reason to bring it back.

If you need to optimize for a different ISA, wouldn't it be possible to use custom CFLAGS in Toolchain->Target Optimizations?

Signature · 1 line
markos
#8 lore raw

PATCH 3/11 gdb: Patch for "unrecognized real-time signal" bug

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

This avoids the following error at GDB startup:

GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal

For details, see:
http://sourceware.org/bugzilla/show_bug.cgi?id=14523

---
 package/gdb/7.4.1/signal-128.patch | 15 +++++++++++++++
 package/gdb/7.5.1/signal-128.patch | 15 +++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 package/gdb/7.4.1/signal-128.patch
 create mode 100644 package/gdb/7.5.1/signal-128.patch
package/gdb/7.4.1/signal-128.patch new file +15 -0
new file mode 100644
index 0000000..ea56372
@@ -0,0 +1,15 @@
+diff -ru gdb-7.4.1.org/gdb/common/signals.c gdb-7.4.1/gdb/common/signals.c
+--- gdb-7.4.1.org/gdb/common/signals.c	2012-01-06 05:43:33.000000000 +0100
++++ gdb-7.4.1/gdb/common/signals.c	2012-08-29 22:40:56.000000000 +0200
+@@ -346,6 +346,11 @@
+       else if (64 <= hostsig && hostsig <= 127)
+ 	return (enum target_signal)
+ 	  (hostsig - 64 + (int) TARGET_SIGNAL_REALTIME_64);
++      else if (hostsig == 128)
++	/* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
++	   signal 128 is the highest realtime signal. There is no constant for
++	   that though. */
++	return TARGET_SIGNAL_UNKNOWN;
+       else
+ 	error (_("GDB bug: target.c (target_signal_from_host): "
+ 	       "unrecognized real-time signal"));
package/gdb/7.5.1/signal-128.patch new file +15 -0
new file mode 100644
index 0000000..b46489e
@@ -0,0 +1,15 @@
+diff -ru gdb-7.5.org/gdb/common/signals.c gdb-7.5/gdb/common/signals.c
+--- gdb-7.5.org/gdb/common/signals.c	2012-05-24 18:51:37.000000000 +0200
++++ gdb-7.5/gdb/common/signals.c	2012-08-29 22:32:07.000000000 +0200
+@@ -346,6 +346,11 @@
+       else if (64 <= hostsig && hostsig <= 127)
+ 	return (enum gdb_signal)
+ 	  (hostsig - 64 + (int) GDB_SIGNAL_REALTIME_64);
++      else if (hostsig == 128)
++	/* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
++	   signal 128 is the highest realtime signal. There is no constant for
++	   that though. */
++	return GDB_SIGNAL_UNKNOWN;
+       else
+ 	error (_("GDB bug: target.c (gdb_signal_from_host): "
+ 	       "unrecognized real-time signal"));
Signature · 1 line
1.9.0
#9 lore raw

PATCH 3/11 gdb: Patch for "unrecognized real-time signal" bug

Dear Paul Cercueil,

this commit should fix the problem:

http://git.buildroot.net/buildroot/commit/?id=54ba2704b07cacacb9247540a660c667fd5ffdd5

Best regards,

--
Vicente Olivert Riera
Graduate Software Engineer, MIPS Processor IP
Imagination Technologies Limited
t: +44 (0)113 2429814
www.imgtec.com
________________________________________
From: [email protected] [buildroot-bounces at busybox.net] on behalf of Paul Cercueil [paul at crapouillou.net]
Sent: 03 April 2014 22:01
To: buildroot at busybox.net
Cc: Maarten ter Huurne
Subject: [Buildroot] [PATCH 03/11] gdb: Patch for "unrecognized real-time signal" bug

From: Maarten ter Huurne <[email protected]>

This avoids the following error at GDB startup:

GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal

For details, see:
http://sourceware.org/bugzilla/show_bug.cgi?id=14523

---
 package/gdb/7.4.1/signal-128.patch | 15 +++++++++++++++
 package/gdb/7.5.1/signal-128.patch | 15 +++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 package/gdb/7.4.1/signal-128.patch
 create mode 100644 package/gdb/7.5.1/signal-128.patch
package/gdb/7.4.1/signal-128.patch new file +15 -0
new file mode 100644
index 0000000..ea56372
@@ -0,0 +1,15 @@
+diff -ru gdb-7.4.1.org/gdb/common/signals.c gdb-7.4.1/gdb/common/signals.c
+--- gdb-7.4.1.org/gdb/common/signals.c 2012-01-06 05:43:33.000000000 +0100
++++ gdb-7.4.1/gdb/common/signals.c     2012-08-29 22:40:56.000000000 +0200
+@@ -346,6 +346,11 @@
+       else if (64 <= hostsig && hostsig <= 127)
+       return (enum target_signal)
+         (hostsig - 64 + (int) TARGET_SIGNAL_REALTIME_64);
++      else if (hostsig == 128)
++      /* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
++         signal 128 is the highest realtime signal. There is no constant for
++         that though. */
++      return TARGET_SIGNAL_UNKNOWN;
+       else
+       error (_("GDB bug: target.c (target_signal_from_host): "
+              "unrecognized real-time signal"));
package/gdb/7.5.1/signal-128.patch new file +15 -0
new file mode 100644
index 0000000..b46489e
@@ -0,0 +1,15 @@
+diff -ru gdb-7.5.org/gdb/common/signals.c gdb-7.5/gdb/common/signals.c
+--- gdb-7.5.org/gdb/common/signals.c   2012-05-24 18:51:37.000000000 +0200
++++ gdb-7.5/gdb/common/signals.c       2012-08-29 22:32:07.000000000 +0200
+@@ -346,6 +346,11 @@
+       else if (64 <= hostsig && hostsig <= 127)
+       return (enum gdb_signal)
+         (hostsig - 64 + (int) GDB_SIGNAL_REALTIME_64);
++      else if (hostsig == 128)
++      /* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
++         signal 128 is the highest realtime signal. There is no constant for
++         that though. */
++      return GDB_SIGNAL_UNKNOWN;
+       else
+       error (_("GDB bug: target.c (gdb_signal_from_host): "
+              "unrecognized real-time signal"));

--
1.9.0

_______________________________________________
buildroot mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/buildroot

#10 lore raw

PATCH 3/11 gdb: Patch for "unrecognized real-time signal" bug

In reply to Paul Cercueil

Dear Paul Cercueil,

Quoted 9 lines · Paul Cercueil

From: Maarten ter Huurne <[email protected]>

This avoids the following error at GDB startup:

GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal

For details, see:
http://sourceware.org/bugzilla/show_bug.cgi?id=14523

Quoted 8 lines
---
 package/gdb/7.4.1/signal-128.patch | 15 +++++++++++++++
 package/gdb/7.5.1/signal-128.patch | 15 +++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 package/gdb/7.4.1/signal-128.patch
 create mode 100644 package/gdb/7.5.1/signal-128.patch

Those gdb versions are no longer supported in Buildroot. Plus, as pointed out by Vicente, the bug is actually in uClibc and not in gdb, so we've marked this patch as Rejected in our patch tracking system.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#11 lore raw

PATCH 4/11 gdb: Fix on-target threads debugging

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

---
 Makefile | 4 ++++
 1 file changed, 4 insertions(+)
Makefile +4 -0
index 09be13c..69ef7a5 100644
@@ -506,6 +506,10 @@ $(BUILD_DIR)/.root:
 
 $(TARGET_DIR): $(BUILD_DIR)/.root
 
+ifeq ($(BR2_PACKAGE_GDB),y)
+BR2_STRIP_EXCLUDE_FILES += libpthread*.so*
+endif
+
 STRIP_FIND_CMD = find $(TARGET_DIR)
 ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
 STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
Signature · 1 line
1.9.0
#12 lore raw

PATCH 4/11 gdb: Fix on-target threads debugging

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 13 lines

From: Maarten ter Huurne <[email protected]>

---
 Makefile | 4 ++++
 1 file changed, 4 insertions(+)
Makefile +0 -0
index 09be13c..69ef7a5 100644

Makefile $(BUILD_DIR)/.root: · line 511

Quoted 6 lines
Makefile +3 -0
@@ -506,6 +506,10 @@ $(BUILD_DIR)/.root:
 
 $(TARGET_DIR): $(BUILD_DIR)/.root
 
+ifeq ($(BR2_PACKAGE_GDB),y)
+BR2_STRIP_EXCLUDE_FILES += libpthread*.so*
+endif

Is that really needed? The exclude code already excludes that file:

Makefile at 513:

    [...] $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) [...]

So, libpthread*.so* is always excluded from being stripped.

Do you have a case where libpthread*.so* is still stripped?

Regards,
Yann E. MORIN.

Quoted 10 lines
Makefile +0 -0
 STRIP_FIND_CMD = find $(TARGET_DIR)
 ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
 STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#13 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

In reply to Paul Cercueil

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

---
 package/dialog/dialog-toupper.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 package/dialog/dialog-toupper.patch
package/dialog/dialog-toupper.patch new file +13 -0
new file mode 100644
index 0000000..3fe0e19
@@ -0,0 +1,13 @@
+diff --git a/dlg_keys.h b/dlg_keys.h
+index 6a96c0f..b7b42d9 100644
+--- a/dlg_keys.h
++++ b/dlg_keys.h
+@@ -31,7 +31,7 @@
+ #define dlg_toupper(ch) towupper((wint_t)ch)
+ #define dlg_isupper(ch) iswupper((wint_t)ch)
+ #else
+-#define dlg_toupper(ch) toupper(ch)
++#define dlg_toupper(ch) toupper((unsigned char)(ch))
+ #define dlg_isupper(ch) (isalpha(ch) && isupper(ch))
+ #endif
+ 
Signature · 1 line
1.9.0
#14 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

I could not vefrify the assertion that MIPS has signed chars.

However, this change is still corect, since it makes it explicit that we want an unsigned char.

Quoted 2 lines

Regards,
Yann E. MORIN.

Quoted 31 lines
---
 package/dialog/dialog-toupper.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 package/dialog/dialog-toupper.patch
package/dialog/dialog-toupper.patch new file +13 -0
new file mode 100644
index 0000000..3fe0e19
@@ -0,0 +1,13 @@
+diff --git a/dlg_keys.h b/dlg_keys.h
+index 6a96c0f..b7b42d9 100644
+--- a/dlg_keys.h
++++ b/dlg_keys.h
+@@ -31,7 +31,7 @@
+ #define dlg_toupper(ch) towupper((wint_t)ch)
+ #define dlg_isupper(ch) iswupper((wint_t)ch)
+ #else
+-#define dlg_toupper(ch) toupper(ch)
++#define dlg_toupper(ch) toupper((unsigned char)(ch))
+ #define dlg_isupper(ch) (isalpha(ch) && isupper(ch))
+ #endif
+ 
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#15 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

Quoted 9 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

I could not vefrify the assertion that MIPS has signed chars.

I think char is signed on all platforms. At least, it is on all
platforms I regularly use.

Quoted 3 lines

However, this change is still corect, since it makes it explicit that we want an unsigned char.

But then we should change all the packages that use toupper and
tolower... (and also isdigit and isalnum and ...).

Basically, if toupper() asserts in this case, it's a bug in the
toolchain, not in the package.

Regards,
Arnout

Quoted 41 lines
Quoted 3 lines

Regards,
Yann E. MORIN.

Quoted 31 lines
---
 package/dialog/dialog-toupper.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 package/dialog/dialog-toupper.patch
package/dialog/dialog-toupper.patch new file +13 -0
new file mode 100644
index 0000000..3fe0e19
@@ -0,0 +1,13 @@
+diff --git a/dlg_keys.h b/dlg_keys.h
+index 6a96c0f..b7b42d9 100644
+--- a/dlg_keys.h
++++ b/dlg_keys.h
+@@ -31,7 +31,7 @@
+ #define dlg_toupper(ch) towupper((wint_t)ch)
+ #define dlg_isupper(ch) iswupper((wint_t)ch)
+ #else
+-#define dlg_toupper(ch) toupper(ch)
++#define dlg_toupper(ch) toupper((unsigned char)(ch))
+ #define dlg_isupper(ch) (isalpha(ch) && isupper(ch))
+ #endif
+ 
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#16 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

Hi,

Quoted 12 lines · Arnout Vandecappelle
Quoted 8 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

I could not vefrify the assertion that MIPS has signed chars.

I think char is signed on all platforms. At least, it is on all
platforms I regularly use.

Well I read that ARM has unsigned chars, but I can't seem to find a real list.

Quoted 7 lines
Quoted 2 lines

However, this change is still corect, since it makes it explicit that we want an unsigned char.

But then we should change all the packages that use toupper and
tolower... (and also isdigit and isalnum and ...).

Basically, if toupper() asserts in this case, it's a bug in the
toolchain, not in the package.

So you suggest to patch uClibc instead?

Quoted 44 lines

Regards,
Arnout

Quoted 38 lines
Quoted 2 lines

Regards,
Yann E. MORIN.

Quoted 31 lines
---
  package/dialog/dialog-toupper.patch | 13 +++++++++++++
  1 file changed, 13 insertions(+)

create mode 100644 package/dialog/dialog-toupper.patch

package/dialog/dialog-toupper.patch new file +13 -0
new file mode 100644
index 0000000..3fe0e19
@@ -0,0 +1,13 @@
+diff --git a/dlg_keys.h b/dlg_keys.h
+index 6a96c0f..b7b42d9 100644
+--- a/dlg_keys.h
++++ b/dlg_keys.h
+@@ -31,7 +31,7 @@
+ #define dlg_toupper(ch) towupper((wint_t)ch)
+ #define dlg_isupper(ch) iswupper((wint_t)ch)
+ #else
+-#define dlg_toupper(ch) toupper(ch)
++#define dlg_toupper(ch) toupper((unsigned char)(ch))
+ #define dlg_isupper(ch) (isalpha(ch) && isupper(ch))
+ #endif
+
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
#17 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

In reply to Arnout Vandecappelle

Hi,

Quoted 9 lines · Arnout Vandecappelle
Quoted 8 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 4 lines

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

Quoted 4 lines
Quoted 1 line

I could not vefrify the assertion that MIPS has signed chars.

I think char is signed on all platforms. At least, it is on all
platforms I regularly use.

This is not correct.
MIPS and x86 have signed char as default, while ARM and PPC have unsigned char by default.
Take into account that the compiler can be told to switch the default, using -fsigned-char or -funsigned-char.

Quoted 9 lines
Quoted 3 lines

However, this change is still corect, since it makes it explicit that we want an unsigned char.

But then we should change all the packages that use toupper and
tolower... (and also isdigit and isalnum and ...).

Basically, if toupper() asserts in this case, it's a bug in the
toolchain, not in the package.

I wouldn't classify it as a bug in the toolchain, but rather as an unfortunate API choice in toupper and friends, or alternatively as an unfortunate failing of the C specification to explicitly define 'char' as being signed or unsigned.

Best regards,
Thomas

#18 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

Quoted 7 lines · Thomas De Schampheleire

Hi,

Quoted 4 lines · Arnout Vandecappelle
Quoted 3 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

[snip]

Quoted 6 lines
Quoted 6 lines
Quoted 2 lines

However, this change is still corect, since it makes it explicit that we want an unsigned char.

But then we should change all the packages that use toupper and
tolower... (and also isdigit and isalnum and ...).

Quoted 7 lines
Quoted 2 lines

Basically, if toupper() asserts in this case, it's a bug in the
toolchain, not in the package.

I wouldn't classify it as a bug in the toolchain, but rather as an unfortunate API choice in toupper and friends, or alternatively as an unfortunate failing of the C specification to explicitly define 'char' as being signed or unsigned.

Yeah, the bane of backward compatibility... Some of these functions
existed before there were prototypes in C.

Still, I'd say that not allowing a negative signed char value for these
functions is incorrect. uClibc at least _tries_ to handle it:

[libc/misc/ctype/ctype.c]
#ifdef __UCLIBC_HAS_CTYPE_SIGNED__

#if EOF >= CHAR_MIN

#define CTYPE_DOMAIN_CHECK(C) \
        (((unsigned int)((C) - CHAR_MIN)) <= (UCHAR_MAX - CHAR_MIN))
#else
#define CTYPE_DOMAIN_CHECK(C) \
        ((((unsigned int)((C) - CHAR_MIN)) <= (UCHAR_MAX - CHAR_MIN)) ||

((C) == EOF))
#endif

#else /* __UCLIBC_HAS_CTYPE_SIGNED__ */

#if EOF == -1

#define CTYPE_DOMAIN_CHECK(C) \
        (((unsigned int)((C) - EOF)) <= (UCHAR_MAX - EOF))
#else
#define CTYPE_DOMAIN_CHECK(C) \
        ((((unsigned int)(C)) <= UCHAR_MAX) || ((C) == EOF))

#endif

#endif /* __UCLIBC_HAS_CTYPE_SIGNED__ */

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout@mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#19 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

Hi,

Quoted 23 lines · Arnout Vandecappelle
Quoted 7 lines · Thomas De Schampheleire

Hi,

Quoted 4 lines · Arnout Vandecappelle
Quoted 3 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

[snip]

Quoted 6 lines
Quoted 6 lines
Quoted 2 lines

However, this change is still corect, since it makes it explicit that we want an unsigned char.

But then we should change all the packages that use toupper and
tolower... (and also isdigit and isalnum and ...).

Quoted 7 lines
Quoted 2 lines

Basically, if toupper() asserts in this case, it's a bug in the
toolchain, not in the package.

I wouldn't classify it as a bug in the toolchain, but rather as an unfortunate API choice in toupper and friends, or alternatively as an unfortunate failing of the C specification to explicitly define 'char' as being signed or unsigned.

Quoted 6 lines

Yeah, the bane of backward compatibility... Some of these functions
existed before there were prototypes in C.

Still, I'd say that not allowing a negative signed char value for these
functions is incorrect. uClibc at least _tries_ to handle it:

The man page of toupper says: (Linux man-pages)

"If c is not an unsigned char value, or EOF, the behavior of these
functions is undefined."

According to me, the patch (http://patchwork.ozlabs.org/patch/336778/)
is a valid one. The dialog sources should only call toupper with an unsigned char. There are different ways to fixing this, but the one proposed in the patch seems fine.

As mentioned before, the statements made by the submitter are correct:
MIPS does indeed have a signed-char by default, it will do sign-extension on the implicit cast from char to int.

Hence:

Best regards,
Thomas

#20 lore raw

PATCH 5/11 dialog: Patch incorrect use of toupper()

In reply to Paul Cercueil

Hi,

I remove that patch from patchwork. Dialog has been bumped to version 1.2-20140219 which doesn't require this fix anymore.

Paul Cercueil

Le 03/04/2014 23:01, Paul Cercueil a ?crit :

Quoted 32 lines

On some platforms (e.g. MIPS), the "char" type is signed by default. The problem is that toupper() takes an int as argument: a signed char then gets sign-extended to 32bit, which causes an assertion failure as toupper() verifies that its argument fits in 8 bits.

---
  package/dialog/dialog-toupper.patch | 13 +++++++++++++
  1 file changed, 13 insertions(+)

create mode 100644 package/dialog/dialog-toupper.patch

package/dialog/dialog-toupper.patch new file +13 -0
new file mode 100644
index 0000000..3fe0e19
@@ -0,0 +1,13 @@
+diff --git a/dlg_keys.h b/dlg_keys.h
+index 6a96c0f..b7b42d9 100644
+--- a/dlg_keys.h
++++ b/dlg_keys.h
+@@ -31,7 +31,7 @@
+ #define dlg_toupper(ch) towupper((wint_t)ch)
+ #define dlg_isupper(ch) iswupper((wint_t)ch)
+ #else
+-#define dlg_toupper(ch) toupper(ch)
++#define dlg_toupper(ch) toupper((unsigned char)(ch))
+ #define dlg_isupper(ch) (isalpha(ch) && isupper(ch))
+ #endif
+
#21 lore raw

PATCH 6/11 libao: Remove OSS plugin when ALSA is enabled

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

At runtime, libao will load all plugins, even ones that will never be used. Since libao will prefer ALSA over OSS by default anyway, it is pretty safe to exclude the OSS plugin.

There is no configure option for disabling the OSS plugin, so we remove the shared object in a post-install hook.

---
 package/libao/libao.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
package/libao/libao.mk +6 -1
index 8e9ee35..e6704f2 100644
@@ -11,11 +11,16 @@ LIBAO_INSTALL_STAGING = YES
 LIBAO_LICENSE = GPLv2+
 LIBAO_LICENSE_FILES = COPYING
 LIBAO_CONF_OPT = --disable-esd --disable-wmm --disable-arts \
-			--disable-nas --disable-pulse
+			--disable-nas --disable-pulse --disable-broken-oss
+
+define LIBAO_REMOVE_OSS_PLUGIN
+	rm -f $(TARGET_DIR)/usr/lib/ao/plugins-4/liboss.so
+endef
 
 ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
 LIBAO_DEPENDENCIES += alsa-lib
 LIBAO_CONF_OPT += --enable-alsa --enable-alsa-mmap
+LIBAO_POST_INSTALL_TARGET_HOOKS += LIBAO_REMOVE_OSS_PLUGIN
 else
 LIBAO_CONF_OPT += --disable-alsa
 endif
Signature · 1 line
1.9.0
#22 lore raw

PATCH 6/11 libao: Remove OSS plugin when ALSA is enabled

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 23 lines

From: Maarten ter Huurne <[email protected]>

At runtime, libao will load all plugins, even ones that will never be used. Since libao will prefer ALSA over OSS by default anyway, it is pretty safe to exclude the OSS plugin.

There is no configure option for disabling the OSS plugin, so we remove the shared object in a post-install hook.

---
 package/libao/libao.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
package/libao/libao.mk +0 -0
index 8e9ee35..e6704f2 100644
@@ -11,11 +11,16 @@ LIBAO_INSTALL_STAGING = YES
 LIBAO_LICENSE = GPLv2+
 LIBAO_LICENSE_FILES = COPYING
 LIBAO_CONF_OPT = --disable-esd --disable-wmm --disable-arts \

package/libao/libao.mk LIBAO_INSTALL_STAGING = YES · line 22

Quoted 10 lines
package/libao/libao.mk +5 -1
-			--disable-nas --disable-pulse
+			--disable-nas --disable-pulse --disable-broken-oss
+
+define LIBAO_REMOVE_OSS_PLUGIN
+	rm -f $(TARGET_DIR)/usr/lib/ao/plugins-4/liboss.so
+endef
 
 ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
 LIBAO_DEPENDENCIES += alsa-lib
 LIBAO_CONF_OPT += --enable-alsa --enable-alsa-mmap

Please define the hook at the place it's going to be used, that is, here. See:
http://nightly.buildroot.org/#_coding_style

Regards,
Yann E. MORIN.

Quoted 11 lines
package/libao/libao.mk +1 -0
+LIBAO_POST_INSTALL_TARGET_HOOKS += LIBAO_REMOVE_OSS_PLUGIN
 else
 LIBAO_CONF_OPT += --disable-alsa
 endif
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#23 lore raw

PATCH 7/11 fmtools: Switch to 2.x series

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

Specifically, bump version to 2.0.1.
The 2.x series uses the V4L2 API instead of V4L.

---
 package/fmtools/Config.in  |  4 ++--
 package/fmtools/fmtools.mk | 15 +++------------
 2 files changed, 5 insertions(+), 14 deletions(-)
package/fmtools/Config.in +2 -2
index 1591618..182b517 100644
@@ -2,8 +2,8 @@ config BR2_PACKAGE_FMTOOLS
 	bool "fmtools"
 	help
 	  fmtools is a pair of simple command-line utilities for
-	  "video4linux" radio tuner cards under Linux. It includes
+	  "video4linux2" radio tuner cards under Linux. It includes
 	  fm for power control, tuning, and volume and fmscan for
 	  scanning for stations.
 
-	  http://www.stanford.edu/~blp/fmtools/
+	  http://benpfaff.org/fmtools/
package/fmtools/fmtools.mk +3 -12
index 5f305b9..bacd73c 100644
@@ -4,18 +4,9 @@
 #
 ################################################################################
 
-FMTOOLS_VERSION = 1.0.2
-FMTOOLS_SITE = http://www.stanford.edu/~blp/fmtools/
+FMTOOLS_VERSION = 2.0.1
+FMTOOLS_SITE = http://benpfaff.org/fmtools
 FMTOOLS_LICENSE = GPLv2+
 FMTOOLS_LICENSE_FILES = COPYING
 
-define FMTOOLS_BUILD_CMDS
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
-endef
-
-define FMTOOLS_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/fm $(TARGET_DIR)/usr/sbin/fm
-	$(INSTALL) -D -m 0755 $(@D)/fmscan $(TARGET_DIR)/usr/sbin/fmscan
-endef
-
-$(eval $(generic-package))
+$(eval $(autotools-package))
Signature · 1 line
1.9.0
#24 lore raw

PATCH 7/11 fmtools: Switch to 2.x series

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 7 lines

From: Maarten ter Huurne <[email protected]>

Specifically, bump version to 2.0.1.
The 2.x series uses the V4L2 API instead of V4L.

v4l2 dates back to the 2.5.x Linux kernel, so it does not need to depend on the _AT_LEAST_XXX headers. Heck, today, virtually all toolchains available are made with headers at least 2.6.18, and we certainly never support older toolchains anyway...

Regards,
Yann E. MORIN.

Quoted 53 lines
---
 package/fmtools/Config.in  |  4 ++--
 package/fmtools/fmtools.mk | 15 +++------------
 2 files changed, 5 insertions(+), 14 deletions(-)
package/fmtools/Config.in +2 -2
index 1591618..182b517 100644
@@ -2,8 +2,8 @@ config BR2_PACKAGE_FMTOOLS
 	bool "fmtools"
 	help
 	  fmtools is a pair of simple command-line utilities for
-	  "video4linux" radio tuner cards under Linux. It includes
+	  "video4linux2" radio tuner cards under Linux. It includes
 	  fm for power control, tuning, and volume and fmscan for
 	  scanning for stations.
 
-	  http://www.stanford.edu/~blp/fmtools/
+	  http://benpfaff.org/fmtools/
package/fmtools/fmtools.mk +3 -12
index 5f305b9..bacd73c 100644
@@ -4,18 +4,9 @@
 #
 ################################################################################
 
-FMTOOLS_VERSION = 1.0.2
-FMTOOLS_SITE = http://www.stanford.edu/~blp/fmtools/
+FMTOOLS_VERSION = 2.0.1
+FMTOOLS_SITE = http://benpfaff.org/fmtools
 FMTOOLS_LICENSE = GPLv2+
 FMTOOLS_LICENSE_FILES = COPYING
 
-define FMTOOLS_BUILD_CMDS
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
-endef
-
-define FMTOOLS_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/fm $(TARGET_DIR)/usr/sbin/fm
-	$(INSTALL) -D -m 0755 $(@D)/fmscan $(TARGET_DIR)/usr/sbin/fmscan
-endef
-
-$(eval $(generic-package))
+$(eval $(autotools-package))
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#25 lore raw

PATCH 7/11 fmtools: Switch to 2.x series

In reply to Paul Cercueil

Dear Paul Cercueil,

Quoted 11 lines · Paul Cercueil

From: Maarten ter Huurne <[email protected]>

Specifically, bump version to 2.0.1.
The 2.x series uses the V4L2 API instead of V4L.

---
 package/fmtools/Config.in  |  4 ++--
 package/fmtools/fmtools.mk | 15 +++------------
 2 files changed, 5 insertions(+), 14 deletions(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#26 lore raw

PATCH 8/11 python-pygame: Make installation of examples optional

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

They take up 1.5 MB in the target file system.

---
 package/python-pygame/Config.in        | 6 ++++++
 package/python-pygame/python-pygame.mk | 7 +++++++
 2 files changed, 13 insertions(+)
package/python-pygame/Config.in +6 -0
index b9a367d..f72ee31 100644
@@ -20,6 +20,12 @@ config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
 	  pygame module for loading, saving and transfering images.
 	  Will autoselect sdl_image with png and jpeg support.
 
+config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
+	bool "pygame.examples"
+	help
+	  Include examples.
+	  Selecting this option adds about 1.5 MB to the target file system.
+
 config BR2_PACKAGE_PYTHON_PYGAME_FONT
 	bool "pygame.font"
 	select BR2_PACKAGE_SDL_TTF
package/python-pygame/python-pygame.mk +7 -0
index d9219b9..77f9f6f 100644
@@ -92,6 +92,13 @@ define PYTHON_PYGAME_REMOVE_TESTS
 	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
 endef
 
+ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
+define PYTHON_PYGAME_REMOVE_EXAMPLES
+	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/examples
+endef
+PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
+endif
+
 PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
 
 $(eval $(python-package))
Signature · 1 line
1.9.0
#27 lore raw

PATCH 8/11 python-pygame: Make installation of examples optional

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 33 lines

From: Maarten ter Huurne <[email protected]>

They take up 1.5 MB in the target file system.

---
 package/python-pygame/Config.in        | 6 ++++++
 package/python-pygame/python-pygame.mk | 7 +++++++
 2 files changed, 13 insertions(+)
package/python-pygame/Config.in +6 -0
index b9a367d..f72ee31 100644
@@ -20,6 +20,12 @@ config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
 	  pygame module for loading, saving and transfering images.
 	  Will autoselect sdl_image with png and jpeg support.
 
+config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
+	bool "pygame.examples"
+	help
+	  Include examples.
+	  Selecting this option adds about 1.5 MB to the target file system.
+
 config BR2_PACKAGE_PYTHON_PYGAME_FONT
 	bool "pygame.font"
 	select BR2_PACKAGE_SDL_TTF
package/python-pygame/python-pygame.mk +0 -0
index d9219b9..77f9f6f 100644

package/python-pygame/python-pygame.mk define PYTHON_PYGAME_REMOVE_TESTS · line 97

Quoted 6 lines
package/python-pygame/python-pygame.mk +3 -0
@@ -92,6 +92,13 @@ define PYTHON_PYGAME_REMOVE_TESTS
 	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
 endef
 
+ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
+define PYTHON_PYGAME_REMOVE_EXAMPLES
+	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/examples
                                      ^^

I'm not a fan of usign a wildcard here.

Can you checks with something like:

    rm -rf $(TARGET_DIR)/usr/lib/python$$(PYTHON_VERSION_MAJOR)/site-packages/pygame/examples

(Yes, two '$' signs, which makes the variable expanded later, at call time, not at parse time.)

Regards,
Yann E. MORIN.

Quoted 14 lines
package/python-pygame/python-pygame.mk +4 -0
+endef
+PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
+endif
+
 PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
 
 $(eval $(python-package))
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#28 lore raw

PATCH 8/11 python-pygame: Make installation of examples optional

Quoted 43 lines · Yann E. MORIN

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 33 lines

From: Maarten ter Huurne <[email protected]>

They take up 1.5 MB in the target file system.

---
 package/python-pygame/Config.in        | 6 ++++++
 package/python-pygame/python-pygame.mk | 7 +++++++
 2 files changed, 13 insertions(+)
package/python-pygame/Config.in +6 -0
index b9a367d..f72ee31 100644
@@ -20,6 +20,12 @@ config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
 	  pygame module for loading, saving and transfering images.
 	  Will autoselect sdl_image with png and jpeg support.
 
+config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
+	bool "pygame.examples"
+	help
+	  Include examples.
+	  Selecting this option adds about 1.5 MB to the target file system.
+
 config BR2_PACKAGE_PYTHON_PYGAME_FONT
 	bool "pygame.font"
 	select BR2_PACKAGE_SDL_TTF
package/python-pygame/python-pygame.mk +0 -0
index d9219b9..77f9f6f 100644

package/python-pygame/python-pygame.mk define PYTHON_PYGAME_REMOVE_TESTS · line 97

Quoted 6 lines
package/python-pygame/python-pygame.mk +3 -0
@@ -92,6 +92,13 @@ define PYTHON_PYGAME_REMOVE_TESTS
 	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
 endef
 
+ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
+define PYTHON_PYGAME_REMOVE_EXAMPLES
+	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/examples
                                      ^^
Quoted 7 lines

I'm not a fan of usign a wildcard here.

Can you checks with something like:

    rm -rf $(TARGET_DIR)/usr/lib/python$$(PYTHON_VERSION_MAJOR)/site-packages/pygame/examples

(Yes, two '$' signs, which makes the variable expanded later, at call time, not at parse time.)

It's inside a define so it will anyway only be expanded when
PYTHON_PYGAME_REMOVE_EXAMPLES is expanded. In addition, this will be expanded only inside a rule, which means that the expansion is delayed until it is executed, not just until the rule is parsed (in the evaluation of the python-package macro).

In fact, with a double dollar it will not get expanded at all (I think).

Regards,
Arnout

Quoted 19 lines

Regards,
Yann E. MORIN.

Quoted 14 lines
package/python-pygame/python-pygame.mk +4 -0
+endef
+PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
+endif
+
 PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
 
 $(eval $(python-package))
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#29 lore raw

PATCH 9/11 util-linux: Add config switches for some more binaries

In reply to Paul Cercueil
---
 package/util-linux/Config.in     | 25 +++++++++++++++++++++++++
 package/util-linux/util-linux.mk |  7 ++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)
package/util-linux/Config.in +25 -0
index b1db99a..e0143f7 100644
@@ -56,6 +56,11 @@ config BR2_PACKAGE_UTIL_LINUX_ARCH
 	help
 	  Print machine architecture
 
+config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
+	bool "chfn/chsh"
+	help
+	  Change login shell, real user name and information
+
 config BR2_PACKAGE_UTIL_LINUX_CRAMFS
 	bool "cramfs utilities"
 	select BR2_PACKAGE_ZLIB
@@ -88,6 +93,11 @@ config BR2_PACKAGE_UTIL_LINUX_KILL
 	help
 	  Send a signal to a process
 
+config BR2_PACKAGE_UTIL_LINUX_LAST
+	bool "last"
+	help
+	  Show listing of last logged in users
+
 config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
 	bool "login utilities"
 	depends on BR2_ENABLE_LOCALE # linux-pam
@@ -98,6 +108,11 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
 comment "login utilities needs a toolchain w/ locale"
 	depends on !BR2_ENABLE_LOCALE
 
+config BR2_PACKAGE_UTIL_LINUX_LOSETUP
+	bool "losetup"
+	help
+	  Set up and control loop devices
+
 config BR2_PACKAGE_UTIL_LINUX_MESG
 	bool "mesg"
 	help
@@ -108,6 +123,11 @@ config BR2_PACKAGE_UTIL_LINUX_MOUNT
 	help
 	  Mount/unmount filesystems
 
+config BR2_PACKAGE_UTIL_LINUX_NEWGRP
+	bool "newgrp"
+	help
+	  Log in to a new group
+
 config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
 	bool "pivot_root"
 	help
@@ -158,6 +178,11 @@ config BR2_PACKAGE_UTIL_LINUX_UUIDD
 	help
 	  UUID generation daemon
 
+config BR2_PACKAGE_UTIL_LINUX_VIPW
+	bool "vipw"
+	help
+	  Edit the password, group, shadow-password or shadow-group file
+
 config BR2_PACKAGE_UTIL_LINUX_WALL
 	bool "wall"
 	help
package/util-linux/util-linux.mk +6 -1
index 20b3d35..4b822c7 100644
@@ -50,19 +50,23 @@ UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
 UTIL_LINUX_CONF_OPT += \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_ARCH),--enable-arch,--disable-arch) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_DDATE),--enable-ddate,--disable-ddate) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-su --enable-sulogin,--disable-last --disable-login --disable-su --disable-sulogin) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
-	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),,--disable-partx) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
@@ -72,6 +76,7 @@ UTIL_LINUX_CONF_OPT += \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write)
 
Signature · 1 line
1.9.0
#30 lore raw

PATCH 9/11 util-linux: Add config switches for some more binaries

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 2 lines

NAK: this patch was already applied and then reverted:
280b16f Revert "util-linux: Add config switches for some more binaries"

Because:

    http://lists.busybox.net/pipermail/buildroot/2013-December/085198.html

It looks like the comment made by Peter in his mail were not addressed (unless I missed them.)

Regards,
Yann E. MORIN.

Quoted 113 lines
---
 package/util-linux/Config.in     | 25 +++++++++++++++++++++++++
 package/util-linux/util-linux.mk |  7 ++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)
package/util-linux/Config.in +25 -0
index b1db99a..e0143f7 100644
@@ -56,6 +56,11 @@ config BR2_PACKAGE_UTIL_LINUX_ARCH
 	help
 	  Print machine architecture
 
+config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
+	bool "chfn/chsh"
+	help
+	  Change login shell, real user name and information
+
 config BR2_PACKAGE_UTIL_LINUX_CRAMFS
 	bool "cramfs utilities"
 	select BR2_PACKAGE_ZLIB
@@ -88,6 +93,11 @@ config BR2_PACKAGE_UTIL_LINUX_KILL
 	help
 	  Send a signal to a process
 
+config BR2_PACKAGE_UTIL_LINUX_LAST
+	bool "last"
+	help
+	  Show listing of last logged in users
+
 config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
 	bool "login utilities"
 	depends on BR2_ENABLE_LOCALE # linux-pam
@@ -98,6 +108,11 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
 comment "login utilities needs a toolchain w/ locale"
 	depends on !BR2_ENABLE_LOCALE
 
+config BR2_PACKAGE_UTIL_LINUX_LOSETUP
+	bool "losetup"
+	help
+	  Set up and control loop devices
+
 config BR2_PACKAGE_UTIL_LINUX_MESG
 	bool "mesg"
 	help
@@ -108,6 +123,11 @@ config BR2_PACKAGE_UTIL_LINUX_MOUNT
 	help
 	  Mount/unmount filesystems
 
+config BR2_PACKAGE_UTIL_LINUX_NEWGRP
+	bool "newgrp"
+	help
+	  Log in to a new group
+
 config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
 	bool "pivot_root"
 	help
@@ -158,6 +178,11 @@ config BR2_PACKAGE_UTIL_LINUX_UUIDD
 	help
 	  UUID generation daemon
 
+config BR2_PACKAGE_UTIL_LINUX_VIPW
+	bool "vipw"
+	help
+	  Edit the password, group, shadow-password or shadow-group file
+
 config BR2_PACKAGE_UTIL_LINUX_WALL
 	bool "wall"
 	help
package/util-linux/util-linux.mk +6 -1
index 20b3d35..4b822c7 100644
@@ -50,19 +50,23 @@ UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
 UTIL_LINUX_CONF_OPT += \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_ARCH),--enable-arch,--disable-arch) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_DDATE),--enable-ddate,--disable-ddate) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-su --enable-sulogin,--disable-last --disable-login --disable-su --disable-sulogin) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
-	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),,--disable-partx) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
@@ -72,6 +76,7 @@ UTIL_LINUX_CONF_OPT += \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
 	$(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write)
 
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#31 lore raw

PATCH 9/11 util-linux: Add config switches for some more binaries

Yann,

Quoted 8 lines · Yann E. MORIN

Paul, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 2 lines

NAK: this patch was already applied and then reverted:
280b16f Revert "util-linux: Add config switches for some more binaries"

Quoted 8 lines

Because:

     http://lists.busybox.net/pipermail/buildroot/2013-December/085198.html

It looks like the comment made by Peter in his mail were not addressed (unless I missed them.)

Regards,
Yann E. MORIN.

You are absolutely right, I just forgot that I already tried to push that patch. Sorry about that.

Paul

Quoted 114 lines
Quoted 114 lines
---
  package/util-linux/Config.in     | 25 +++++++++++++++++++++++++
  package/util-linux/util-linux.mk |  7 ++++++-
  2 files changed, 31 insertions(+), 1 deletion(-)
package/util-linux/Config.in +25 -0
index b1db99a..e0143f7 100644
@@ -56,6 +56,11 @@ config BR2_PACKAGE_UTIL_LINUX_ARCH
  	help
  	  Print machine architecture
 
+config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
+	bool "chfn/chsh"
+	help
+	  Change login shell, real user name and information
+
  config BR2_PACKAGE_UTIL_LINUX_CRAMFS
  	bool "cramfs utilities"
  	select BR2_PACKAGE_ZLIB
@@ -88,6 +93,11 @@ config BR2_PACKAGE_UTIL_LINUX_KILL
  	help
  	  Send a signal to a process
 
+config BR2_PACKAGE_UTIL_LINUX_LAST
+	bool "last"
+	help
+	  Show listing of last logged in users
+
  config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
  	bool "login utilities"
  	depends on BR2_ENABLE_LOCALE # linux-pam
@@ -98,6 +108,11 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
  comment "login utilities needs a toolchain w/ locale"
  	depends on !BR2_ENABLE_LOCALE
 
+config BR2_PACKAGE_UTIL_LINUX_LOSETUP
+	bool "losetup"
+	help
+	  Set up and control loop devices
+
  config BR2_PACKAGE_UTIL_LINUX_MESG
  	bool "mesg"
  	help
@@ -108,6 +123,11 @@ config BR2_PACKAGE_UTIL_LINUX_MOUNT
  	help
  	  Mount/unmount filesystems
 
+config BR2_PACKAGE_UTIL_LINUX_NEWGRP
+	bool "newgrp"
+	help
+	  Log in to a new group
+
  config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
  	bool "pivot_root"
  	help
@@ -158,6 +178,11 @@ config BR2_PACKAGE_UTIL_LINUX_UUIDD
  	help
  	  UUID generation daemon
 
+config BR2_PACKAGE_UTIL_LINUX_VIPW
+	bool "vipw"
+	help
+	  Edit the password, group, shadow-password or shadow-group file
+
  config BR2_PACKAGE_UTIL_LINUX_WALL
  	bool "wall"
  	help
package/util-linux/util-linux.mk +6 -1
index 20b3d35..4b822c7 100644
@@ -50,19 +50,23 @@ UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
  UTIL_LINUX_CONF_OPT += \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_ARCH),--enable-arch,--disable-arch) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_DDATE),--enable-ddate,--disable-ddate) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-su --enable-sulogin,--disable-last --disable-login --disable-su --disable-sulogin) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
-	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),,--disable-partx) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
@@ -72,6 +76,7 @@ UTIL_LINUX_CONF_OPT += \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
+	$(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
  	$(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write)
 
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
#32 lore raw

PATCH 10/11 luajit: Allow to build on Mips and Mipsel platforms

In reply to Paul Cercueil
---
 package/luajit/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/luajit/Config.in +1 -1
index 9c4ecc3..bce9cc4 100644
@@ -3,7 +3,7 @@ config BR2_PACKAGE_LUAJIT
 	select BR2_PACKAGE_HAS_LUA_INTERPRETER
 	# Luajit is only available for some target architectures, and
 	# has some complexity wrt 32/64. See luajit.mk for details.
-	depends on BR2_i386 || (BR2_x86_64 && BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb
+	depends on BR2_i386 || (BR2_x86_64 && BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel
 	help
 	  LuaJIT implements the full set of language features defined
 	  by Lua 5.1. The virtual machine (VM) is API- and
Signature · 1 line
1.9.0
#33 lore raw

PATCH 10/11 luajit: Allow to build on Mips and Mipsel platforms

Dear Paul Cercueil,

Quoted 5 lines · Paul Cercueil
---
 package/luajit/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#34 lore raw

PATCH 11/11 stress: Patch to fix documentation source

In reply to Paul Cercueil

From: Maarten ter Huurne <[email protected]>

Some versions of "makeinfo" consider @itemx not immediately following @item an error. It is a violation of the texinfo syntax, but silently ignored on most systems, for some reason.

---
 package/stress/stress-doc-itemx.patch | 47 +++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 package/stress/stress-doc-itemx.patch
package/stress/stress-doc-itemx.patch new file +47 -0
new file mode 100644
index 0000000..8ef7fa4
@@ -0,0 +1,47 @@
+diff -ru stress-1.0.4.org/doc/stress.texi stress-1.0.4/doc/stress.texi
+--- stress-1.0.4.org/doc/stress.texi	2005-03-10 02:16:02.000000000 +0100
++++ stress-1.0.4/doc/stress.texi	2013-07-21 21:50:47.000000000 +0200
+@@ -65,7 +65,7 @@
+ @itemx --help
+ Show help information.
+ 
+- at itemx --version
++ at item --version
+ Show version information.
+ 
+ @item -v
+@@ -84,7 +84,7 @@
+ @itemx --timeout @var{secs}
+ Time out after @var{secs} seconds.
+ 
+- at itemx --backoff @var{usecs}
++ at item --backoff @var{usecs}
+ Wait for factor of @var{usecs} microseconds before starting work.
+ 
+ @item -c @var{forks}
+@@ -99,10 +99,10 @@
+ @itemx --vm @var{forks}
+ Spawn @var{forks} processes each spinning on @samp{malloc()}.
+ 
+- at itemx --vm-bytes @var{bytes}
++ at item --vm-bytes @var{bytes}
+ Allocate @var{bytes} number of bytes.  The default is 1.
+ 
+- at itemx --vm-hang
++ at item --vm-hang
+ Instruct each vm hog process to go to sleep after allocating memory.  This
+ contrasts with their normal behavior, which is to free the memory and
+ reallocate @emph{ad infinitum}.  This is useful for simulating low memory
+@@ -117,10 +117,10 @@
+ @itemx --hdd @var{forks}
+ Spawn @var{forks} processes each spinning on @samp{write()}.
+ 
+- at itemx --hdd-bytes @var{bytes}
++ at item --hdd-bytes @var{bytes}
+ Write @var{bytes} number of bytes.  The default is 1GB.
+ 
+- at itemx --hdd-noclean
++ at item --hdd-noclean
+ Do not unlink file(s) to which random ASCII data is written.
+ 
+ @end table
Signature · 1 line
1.9.0
#35 lore raw

PATCH 1/11 toolchain: Make vendor configurable

In reply to Paul Cercueil

Paul, Maarten, All,

On 2014-04-03 23:01 +0200, Paul Cercueil spake thusly:

Quoted 6 lines

From: Maarten ter Huurne <[email protected]>

This is used in the GNU configuration name (machine triple/quadruple).

NAK, there's a better patch pending for that:

    http://patchwork.ozlabs.org/patch/335670/

Regards,
Yann E. MORIN.

Quoted 60 lines
---
 Makefile                                |  1 +
 package/Makefile.in                     |  2 +-
 toolchain/toolchain-buildroot/Config.in | 11 +++++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)
Makefile +1 -0
index 41c51c6..09be13c 100644
@@ -307,6 +307,7 @@ QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q)
 
 # Strip off the annoying quoting
 ARCH:=$(call qstrip,$(BR2_ARCH))
+VENDOR:=$(call qstrip,$(BR2_VENDOR))
 
 KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/i.86/i386/ -e s/sun4u/sparc64/ \
package/Makefile.in +1 -1
index 454f614..d102009 100644
@@ -21,7 +21,7 @@ MAKE1:=$(HOSTMAKE) -j1
 MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS))
 
 # Compute GNU_TARGET_NAME
-GNU_TARGET_NAME=$(ARCH)-buildroot-$(TARGET_OS)-$(LIBC)$(ABI)
+GNU_TARGET_NAME=$(ARCH)-$(VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
 
 # Blackfin FLAT needs uclinux
 ifeq ($(BR2_bfin)$(BR2_BINFMT_FLAT),yy)
toolchain/toolchain-buildroot/Config.in +11 -0
index 07db50b..9d97487 100644
@@ -70,6 +70,17 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC
 	default "glibc"  if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
 	default "glibc"  if BR2_TOOLCHAIN_BUILDROOT_GLIBC
 
+config BR2_VENDOR
+	string "Toolchain vendor in GNU configuration name"
+	default "buildroot"
+	help
+	  The GNU build system identifies a machine using configuration name
+	  in the following format:
+	    <arch>-<vendor>-<kernel>-<os>
+	  This option lets you select the vendor part of that string.
+
+	  Usually it is best to stick with the default value of "buildroot".
+
 source "package/uclibc/Config.in"
 source "package/glibc/Config.in"
 source "package/binutils/Config.in.host"
Signature · 6 lines
1.9.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'