libbsd: upgrade to v0.8.2 and expand architecture support
PATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
There is no reason to limit libbsd to ARM, x86 and x86_64. MicroBlaze is the only architecture supported by Buildroot that is not supported by libbsd.
According to Arnout Vandecappelle, "the exclusion was "from the time that we only supported glibc for external toolchains and it didn't get too much attention. So we missed the fact that glibc doesn't include linux/a.out.h".
--- package/libbsd/Config.in | 9 +++++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- package/netcat-openbsd/Config.in | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-)
package/libbsd/Config.in +5 -4
@@ -1,9 +1,10 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS bool - # libbsd requires a.out.h, which is only available for those - # architectures: arm, x86 (and alpha, currently not supported in Buildroot; - # also m68k which is currently not enabled, so can't be tested.) - default y if BR2_arm || BR2_i386 || BR2_x86_64 + # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h) + default y if !BR2_microblaze + +comment "libbsd does not support the MicroBlaze architecture" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS config BR2_PACKAGE_LIBBSD bool "libbsd"
package/libbsd/libbsd.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9e8f34ffa9c8579c87965a55a82d8ac37a1dc64858f717b7c49452ade277cc62 libbsd-0.6.0.tar.xz +sha256 b2f644cae94a6e2fe109449c20ad79a0f6ee4faec2205b07eefa0020565e250a libbsd-0.8.2.tar.xz
package/libbsd/libbsd.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LIBBSD_VERSION = 0.6.0 +LIBBSD_VERSION = 0.8.2 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = http://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-3c, MIT
package/netcat-openbsd/Config.in +3 -3
@@ -18,7 +18,7 @@ config BR2_PACKAGE_NETCAT_OPENBSD https://packages.debian.org/sid/netcat-openbsd -comment "netcat-openbsd needs an (e)glibc toolchain w/ threads" - depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC +comment "netcat-openbsd needs libbsd and an (e)glibc toolchain w/ threads" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC ~
Signature · 1 line
2.5.0
PATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
Hi Carlos,
Quoted 21 lines · Carlos Santos
There is no reason to limit libbsd to ARM, x86 and
x86_64. MicroBlaze is the only architecture supported by Buildroot that is not supported by libbsd.According to Arnout Vandecappelle, "the exclusion was "from the time that we only supported glibc for external toolchains and it didn't get too much attention. So we missed the fact that glibc doesn't include
linux/a.out.h".Signed-off-by Carlos Santos <[email protected]>--- package/libbsd/Config.in | 9 +++++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- package/netcat-openbsd/Config.in | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-)package/libbsd/Config.in +0
-0@@ -1,9 +1,10 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
package/libbsd/Config.in line 7
Quoted 10 lines
package/libbsd/Config.in +5
-4bool - # libbsd requires a.out.h, which is only available for those - # architectures: arm, x86 (and alpha, currently not supported in Buildroot; - # also m68k which is currently not enabled, so can't be tested.) - default y if BR2_arm || BR2_i386 || BR2_x86_64 + # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h) + default y if !BR2_microblaze + +comment "libbsd does not support the MicroBlaze architecture" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
Comments like this one are useless for architecture dependencies, since the user can't do much about that in most cases.
[...]
package/netcat-openbsd/Config.in config BR2_PACKAGE_NETCAT_OPENBSD · line 23
Quoted 12 lines
package/netcat-openbsd/Config.in +3
-3@@ -18,7 +18,7 @@ config BR2_PACKAGE_NETCAT_OPENBSD https://packages.debian.org/sid/netcat-openbsd -comment "netcat-openbsd needs an (e)glibc toolchain w/ threads" - depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC +comment "netcat-openbsd needs libbsd and an (e)glibc toolchain w/ threads" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC
Why? Current dependency hides this comment for !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS, which is as it should be as per above.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
In reply to Carlos SantosHi Carlos,
We prefer things to be split up, so this could be a version bump and the
architecture support in separate patches. Most likely, the architecture support will still be included in 2016.02 but the version bump may be dropped.
Quoted 6 lines · Carlos Santos
There is no reason to limit libbsd to ARM, x86 and
x86_64. MicroBlaze is the only architecture supported by Buildroot that is not supported by libbsd.According to Arnout Vandecappelle, "the exclusion was "from the time that we only supported glibc for external toolchains and it didn't get too much attention. So we missed the fact that glibc doesn't include
linux/a.out.h".
The explanation is a bit too brief.
When libbsd still supported uClibc as a C library, we added the architecture exclusions because uClibc's a.out.h includes linux/a.out.h. The latter only exists for the specified architectures.
However, glibc doesn't include linux/a.out.h, it instead has its own implementation and it adds a flag to indicate if a.out is supported on this architecture or not.
Since libbsd currently only supports glibc-based toolchains, the architecture exclusions are no longer valid.
On microblaze, the build still fails, but this time because of ELF support. libbsd explicitly handles architectures and microblaze is not one of them (see local-elf.h).
Feel free to improve this further, of course.
Quoted 14 lines
Signed-off-by Carlos Santos <[email protected]>--- package/libbsd/Config.in | 9 +++++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- package/netcat-openbsd/Config.in | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-)package/libbsd/Config.in +0
-0
package/libbsd/Config.in line 3
Quoted 7 lines
package/libbsd/Config.in +1
-4@@ -1,9 +1,10 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS bool - # libbsd requires a.out.h, which is only available for those - # architectures: arm, x86 (and alpha, currently not supported in Buildroot; - # also m68k which is currently not enabled, so can't be tested.) - default y if BR2_arm || BR2_i386 || BR2_x86_64 + # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h)
This is a good comment.
package/libbsd/Config.in line 7
Quoted 4 lines
package/libbsd/Config.in +4
-0+ default y if !BR2_microblaze + +comment "libbsd does not support the MicroBlaze architecture" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
This is not needed, we don't add comments for architectures, because there is
anyway nothing you can do about it. We only write comments for toolchain config options that you can actually change. A comment like this is effectively saying "change your platform" which is not very helpful.
package/libbsd/libbsd.hash line 2
Quoted 11 lines
package/libbsd/Config.in +0
-0config BR2_PACKAGE_LIBBSD bool "libbsd"package/libbsd/libbsd.hash +1
-1@@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9e8f34ffa9c8579c87965a55a82d8ac37a1dc64858f717b7c49452ade277cc62 libbsd-0.6.0.tar.xz +sha256 b2f644cae94a6e2fe109449c20ad79a0f6ee4faec2205b07eefa0020565e250a libbsd-0.8.2.tar.xz
Did you indeed check the signature?
Quoted 18 lines
package/libbsd/libbsd.mk +1
-1@@ -4,7 +4,7 @@ # ################################################################################ -LIBBSD_VERSION = 0.6.0 +LIBBSD_VERSION = 0.8.2 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = http://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-3c, MITpackage/netcat-openbsd/Config.in +0
-0
package/netcat-openbsd/Config.in config BR2_PACKAGE_NETCAT_OPENBSD · line 23
Quoted 9 lines
package/netcat-openbsd/Config.in +3
-3@@ -18,7 +18,7 @@ config BR2_PACKAGE_NETCAT_OPENBSD https://packages.debian.org/sid/netcat-openbsd -comment "netcat-openbsd needs an (e)glibc toolchain w/ threads" - depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC +comment "netcat-openbsd needs libbsd and an (e)glibc toolchain w/ threads" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC
This is wrong. The "depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS" is there
because we _don't_ want to show the comment on architectures where it's anyway not supported.
Regards,
Arnout
Quoted 2 lines
package/netcat-openbsd/Config.in +0
-0~
Signature · 6 lines
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . 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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
----- Original Message -----
Quoted 11 lines
From: "Arnout Vandecappelle" <[email protected]>
To: "Carlos Santos" <[email protected]>, buildroot at buildroot.org
Cc: "guilherme machado" <[email protected]>, baruch at tkos.co.il
Sent: Thursday, February 4, 2016 11:51:59 AM
Subject: Re: [PATCH 1/1] libbsd: upgrade to v0.8.2 and expand architecture supportHi Carlos,
We prefer things to be split up, so this could be a version bump and the architecture support in separate patches. Most likely, the architecture support will still be included in 2016.02 but the version bump may be dropped.
I think it is better to keep them together. Version 0.6.0 is too old and 0.8.2 includes several improvements and bug fixes (including the support for NIOS2 in nlist(), added in v0.8.0).
Quoted 21 lines · Carlos Santos
Quoted 6 lines
There is no reason to limit libbsd to ARM, x86 and
x86_64. MicroBlaze is the only architecture supported by Buildroot that is not supported by libbsd.According to Arnout Vandecappelle, "the exclusion was "from the time that we only supported glibc for external toolchains and it didn't get too much attention. So we missed the fact that glibc doesn't include
linux/a.out.h".The explanation is a bit too brief.
When libbsd still supported uClibc as a C library, we added the architecture exclusions because uClibc's
a.out.hincludeslinux/a.out.h. The latter only exists for the specified architectures.However, glibc doesn't include
linux/a.out.h, it instead has its own implementation and it adds a flag to indicate if a.out is supported on this architecture or not.Since libbsd currently only supports glibc-based toolchains, the architecture exclusions are no longer valid.
Quoted 6 lines
On microblaze, the build still fails, but this time because of ELF support. libbsd explicitly handles architectures and microblaze is not one of them (see
local-elf.h).Feel free to improve this further, of course.
Ok , I updated the commit message. Thanks for your help.
Quoted 34 lines
Quoted 13 lines
Signed-off-by Carlos Santos <[email protected]>--- package/libbsd/Config.in | 9 +++++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- package/netcat-openbsd/Config.in | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-)package/libbsd/Config.in +0
-0package/libbsd/Config.in line 3
Quoted 7 lines
package/libbsd/Config.in +1
-4@@ -1,9 +1,10 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS bool - # libbsd requires a.out.h, which is only available for those - # architectures: arm, x86 (and alpha, currently not supported in Buildroot; - # also m68k which is currently not enabled, so can't be tested.) - default y if BR2_arm || BR2_i386 || BR2_x86_64 + # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h)This is a good comment.
package/libbsd/Config.in line 7
Quoted 4 lines
package/libbsd/Config.in +4
-0+ default y if !BR2_microblaze + +comment "libbsd does not support the MicroBlaze architecture" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTSThis is not needed, we don't add comments for architectures, because there is anyway nothing you can do about it. We only write comments for toolchain config options that you can actually change. A comment like this is effectively saying "change your platform" which is not very helpful.
Quoted 1 line
Quoted 14 lines
Quoted 9 lines
config
BR2_PACKAGE_LIBBSDpackage/libbsd/Config.in +0
-0bool "libbsd"package/libbsd/libbsd.hash +0
-1@@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9e8f34ffa9c8579c87965a55a82d8ac37a1dc64858f717b7c49452ade277cc62Quoted 3 lines
libbsd-0.6.0.tar.xz +sha256 b2f644cae94a6e2fe109449c20ad79a0f6ee4faec2205b07eefa0020565e250a libbsd-0.8.2.tar.xzDid you indeed check the signature?
Yes. Did you have any problems with that signature?
Quoted 21 lines
Quoted 21 lines
package/libbsd/libbsd.mk +1
-1@@ -4,7 +4,7 @@ # ################################################################################ -LIBBSD_VERSION = 0.6.0 +LIBBSD_VERSION = 0.8.2 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = http://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-3c, MITpackage/netcat-openbsd/Config.in +0
-0@@ -18,7 +18,7 @@ config BR2_PACKAGE_NETCAT_OPENBSD https://packages.debian.org/sid/netcat-openbsd
Quoted 10 lines
package/netcat-openbsd/Config.in config BR2_PACKAGE_NETCAT_OPENBSD · line 23
Quoted 6 lines
package/netcat-openbsd/Config.in +3
-3-comment "netcat-openbsd needs an (e)glibc toolchain w/ threads" - depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC +comment "netcat-openbsd needs libbsd and an (e)glibc toolchain w/ threads" + depends on !BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBCThis is wrong. The "depends on
BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS" is there because we _don't_ want to show the comment on architectures where it's anyway not supported.
Fixed.
Carlos Santos (Casantos)
DATACOM, P&D
PATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
In reply to Carlos SantosWhen libbsd still supported uClibc as a C library, we added the architecture exclusions because uClibc's a.out.h includes linux/a.out.h. The latter only exists for the specified architectures.
However, glibc doesn't include linux/a.out.h, it instead has its own implementation and it adds a flag to indicate if a.out is supported on this architecture or not.
Since libbsd currently only supports glibc-based toolchains, the architecture exclusions are no longer valid.
On microblaze, the build still fails, but this time because of ELF support. libbsd explicitly handles architectures and microblaze is not one of them (see local-elf.h).
--- package/libbsd/Config.in | 6 ++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-)
package/libbsd/Config.in +2 -4
@@ -1,9 +1,7 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS bool - # libbsd requires a.out.h, which is only available for those - # architectures: arm, x86 (and alpha, currently not supported in Buildroot; - # also m68k which is currently not enabled, so can't be tested.) - default y if BR2_arm || BR2_i386 || BR2_x86_64 + # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h) + default y if !BR2_microblaze config BR2_PACKAGE_LIBBSD bool "libbsd"
package/libbsd/libbsd.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9e8f34ffa9c8579c87965a55a82d8ac37a1dc64858f717b7c49452ade277cc62 libbsd-0.6.0.tar.xz +sha256 b2f644cae94a6e2fe109449c20ad79a0f6ee4faec2205b07eefa0020565e250a libbsd-0.8.2.tar.xz
package/libbsd/libbsd.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LIBBSD_VERSION = 0.6.0 +LIBBSD_VERSION = 0.8.2 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = http://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-3c, MIT
Signature · 1 line
2.5.0
Thomas Petazzoni
AppliedPATCH 1/1 libbsd: upgrade to v0.8.2 and expand architecture support
Dear Carlos Santos,
Quoted 15 lines · Carlos Santos
When libbsd still supported uClibc as a C library, we added the architecture exclusions because uClibc's
a.out.hincludeslinux/a.out.h. The latter only exists for the specified architectures.However, glibc doesn't include
linux/a.out.h, it instead has its own implementation and it adds a flag to indicate if a.out is supported on this architecture or not.Since libbsd currently only supports glibc-based toolchains, the architecture exclusions are no longer valid.
On microblaze, the build still fails, but this time because of ELF support. libbsd explicitly handles architectures and microblaze is not one of them (see
local-elf.h).
Quoted 6 lines
Signed-off-by Carlos Santos <[email protected]>--- package/libbsd/Config.in | 6 ++---- package/libbsd/libbsd.hash | 2 +- package/libbsd/libbsd.mk | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com