binutils got disabled as a target package for aarch64 back in Buildroot
2012.11 (commit 660d16f4).
The default version 2.21.1 at the time didn't really support aarch64, as
shown by the autobuilder error reference in that commit.
binutils has now had support for aarch64 since 2.23, but was never
re-enabled for aarch64.
All of the binutils versions currently supported by Buildroot (oldest
being 2.24) support aarch64, so we can now enable it without any
restrictions.
This same patch also touches the dropwatch, lightning and oprofile
packages which all select binutils and had the 'depends on !aarch64' to
keep Kconfig consistent. They are now re-enabled for aarch64 as well.
They are changed in this same patch so that Kconfig is kept consistent
and doesn't end up having them disabled in a commit which only has the
binutils change applied.
lightning has other explicit arch dependencies so it is not actually yet
available in aarch64, but at least the dependency on !aarch64 because of
binutils is not needed anymore.
Everything has been build tested with Buildroot and external toolchains.
binutils and dropwatch work fine in a qemu target. oprofile doesn't seem
to be supported in the qemu aarch64 processor but builds fine and seems
to have some level of aarch64 support in the source, so there doesn't
seem to be a reason to keep it disabled in Kconfig.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
binutils starting at least from 2.23 when build for target require
uClibc configured with UCLIBC_HAS_WCHAR otherwise:
libtool: link: [...] -o as-new [...]
read.o: In function `read_symbol_name':
read.c:(.text+0x3634): undefined reference to `mbstowcs'
collect2: error: ld returned 1 exit status
because "mbstowcs" is not available in the C library.
Even though we're not yet using 2.23.2 as the default version, we will
probably do it in the near future, so this commit doesn't bother with
making the wchar dependency version-specific, and applies it to the
binutils package as a whole.
Fixes bug #6218
[Thomas:
- more details in the commit log.
- add comment about the wchar dependency
- propagate the dependency to dropwatch (and fix a mistake in the
architecture dependencies of the comment)
- propagate the dependency to oprofile.]
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
dropwatch requires thread support because it selects libnl that
depends on thread support. Also dropwatch cannot build on AArch64,
because it selects the target binutils package which isn't (yet)
available on AArch64.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Peter: fix help text & license, needs host-pkgconf]
Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>