While musl and glibc provide the ucontext structure definition on all
architectures they support, it is not the case of uClibc. We have been
excluding more and more architectures over time, but this isn't really
nice as we continuously need to add more. Latest example: the fact that
ucontext on ARM is only available on ARM platforms that support the ARM
instruction set (i.e not on the Thumb-2 only Cortex-M platforms).
Therefore, we introduce a BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS variable,
which:
- is set to 'y' for musl and glibc
- is set to 'y' for uClibc for the only architectures that are known to
provide ucontext (those are the ones that select ARCH_HAS_UCONTEXT in
uClibc.
Note that we remove the comment, as it would become a way too
complicated comment, and we usually don't add comment for such
complicated situations (see libunwind for a similar example).
Fixes:
http://autobuild.buildroot.net/results/b1e40b3ec64cd98b535d83e89e5780c46680e095/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The dante configure script has some logic to remove the -g flag from
CFLAGS, but this logic is flawed and also removed -g in
-mfloat-gprs=double, turning it into the invalid -mfloatprs=double,
causing a build failure.
This commit adds a patch that gets rid of this -g removal logic, since
it is in fact unnecessary.
Fixes:
http://autobuild.buildroot.net/results/313370bf05efe7fd87c281a97ecb6e06531a87ed/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The procps-ng package currently fails to build on BR2_STATIC_LIBS=y
configurations. Indeed, by default NUMA support is enabled, and it
requires dlopen(). As hinted by the configure script, passing
--disable-numa allows to disable NUMA support.
However, once this is done, another issue pops up: dlopen() is also used
by the SELinux support. But even when SELinux support is disabled, the
procps-ng code incorrectly includes <dlfcn.h>. This is addressed by the
addition of a patch.
Fixes:
http://autobuild.buildroot.net/results/b385bf435085728aece6323a5006ba9fa6631744/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The webrtc-audio-processing configure script assumes that if the
host_cpu part of the tuple is "arm", then ARM instructions are
available. This is obviously incorrect for ARM Cortex-M platforms, which
only support the Thumb-2 instruction set.
In order to address this, we add a patch,
0001-configure.ac-fix-architecture-detection.patch, which changes how
webrtc-audio-processing detects the architecture: instead of relying on
the host_cpu part of the tuple, it relies on the built-in definitions of
the compiler.
Not only it fixes the Cortex-M detection, but it also enables ARMv7
optimizations on ARMv7-A: until now they were only enabled when the
host_cpu part of the tuple was armv7, which is never the case in
Buildroot.
However, once this issue is fixed for Cortex-M, the build nonetheless
fails later due to the usage of NPTL-only functions. So we change the
thread dependency to a NPTL dependency.
Fixes:
http://autobuild.buildroot.net/results/4933082cd7cc5781404c77ccef5c2b9333c5f714/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The size-stats script fails when the usb_modeswitch_data is enabled,
because this package installs files that contain commas in their
name. However, the size-stats script also uses comma as a separator for
its CSV files, causing a "ValueError: too many values to unpack" in:
pkg, fpath = l.split(",")
Fix this by splitting only the two fields that need to be split.
The bug was reported by Matthias <porto.rio@gmx.net>, who also suggested
a fix.
Fixes bug #9136.
Reported-by: Matthias <porto.rio@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ALSA > 1.1.x are not determined correctly when configuring the library.
A patch, identical to the one used for Qt5, is added to the qt package
to solve this problem.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When uClibc-ng 1.0.17 was released, there was a regression when building
Thumb2-only for a CPU that is capable of running in arm mode (e.g. an
armv7a cpu).
We hastily added a patch to revert the upstream commit, as a stop-gap
measure, waiting for the actual fix.
That actual fix is there, now. :-)
Drop our revert-patch, and add the upstream patch.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
iproute2 believes that it needs to link with libpthread for its arpd
binary, because "some db implementations require thread". Therefore, our
iproute2.mk explicitly disables the build of arpd when thread support is
not available.
However, the sed expression it uses no longer works. The Makefile used
to look like:
TARGETS = foo baz baz arpd foobar
so replacing " arpd " with a space was working fine. However, the
Makefile got changed in iproute2 to:
ifeq (... berkeleydb available ...)
TARGETS += arpd
endif
i.e, with no space at the end of the line. This made our sed expression
ineffective, causing build issues with no-thread configurations since
arpd was no longer disabled.
To address this, instead of sed-ing the Makefile, we overwrite the
berkeleydb detection of iproute2, by writing to the "Config" file, like
we're doing for other aspects of the package.
Fixes:
http://autobuild.buildroot.net/results/03a37a2372a4c2e438a073e015c49d9e554b86b7/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Traditionally, Buildroot has a default of enabling thread
support. However, with the current construct of the thread choice in the
uclibc package, the m68k and microblaze architecture end up with no
thread support as the default.
In order to avoid having to explicit a more complicated "default" value
for the choice, we take a simple approach: we order the 3 possible
choices by order of "preference", since Kconfig selects the first
selectable option in a choice by default.
So, NPTL is first and is the default when available. Then comes
linuxthreads which only gets selected as the default when NPTL is
available. None is offered as a last choice (in the current
implementation, it is never the default, since all architectures can
have thread support, either through NPTL or linuxthreads).
[Thomas: reworked according to Yann's comment that we could rely on the
Kconfig behavior that selects the first available choice option.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The BR2_PACKAGE_BLKTRACE option "depends on
BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS", but this architecture dependency was
not replicated in the Config.in comment. This commit fixes this
inconsistency.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When running ntp it randomly aborts at ntp-4.2.8p8/libntp/recvbuff.c:326
which seems to be a debugging feature. This patch just disables
debugging, it does not fix the root cause of the problem.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since enlightenment 0.20 uuid.h is always included in e_pixmap.c but
libuuid is checked at configure time only when wayland support is
enabled.
Include uuid.h must guarded by HAVE_WAYLAND.
Fixes:
CC src/bin/src_bin_enlightenment-e_pixmap.o
src/bin/e_pixmap.c:16:18: fatal error: uuid.h: No such file or directory
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
HLS plugin can be built with nettle or libgcrypt or openssl
cryptographic backend. But current dependency on gnutls is incorrect.
It has been working so far because gnutls depends on nettle.
gst-plugins-bad's build system for HLS allows user to choose which
cryptographic backend to use. If that is not specified, it internally
checks for nettle or libgcrypt or openssl in order. If none of the
cryptographic backend is available, HLS plugin gets disabled internally.
Select cryptographic backend according to which cryptographic packages
are available. If both libgcrypt or openssl are not available, choose
nettle by default.
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
operf_utils.h defines rmb() for a limited number of architectures, so
add this list to BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS to disable any new
or unsupported architectures.
Doing so, this disable oprofile for m68k which lack of memory barrier
operations.
Remove nios2 dependency since it's not supported by oprofile even if
binutils could be built for nios2.
Fixes:
http://autobuild.buildroot.net/results/1cc761d8a5715d0a2c6eaacfde7e44b225da1b36
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: remove BR2_sh64, use BR2_sh instead of BR2_sh4.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>