Following the introduction of the support for the musl C library, the
support of C++ exceptions or features like pthread_exit() got broken
even with other libraries such as glibc. This was reported as bug #7028.
The problem was caused by the gcc patch needed to add support for
musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide
whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely
removed the existing logic, replacing it by a single logic based on
the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets
defined by the configure script only for Solaris, or Linux Musl
platforms. For glibc/uClibc, the configure script does not define it,
and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with
exception handling.
This patch fixes that by restoring all the logic of
libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one
more case.
It has been successfully runtime tested using the two code examples
provided in bug #7208, with uClibc, musl and glibc.
Cc: Krzysztof Wrzalik <kwrzalik@gmail.com>
Cc: David Bachelart <david.bachelart@bbright.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Following the introduction of the support for the musl C library, the
support of C++ exceptions or features like pthread_exit() got broken
even with other libraries such as glibc. This was reported as bug #7028.
The problem was caused by the gcc patch needed to add support for
musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide
whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely
removed the existing logic, replacing it by a single logic based on
the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets
defined by the configure script only for Solaris, or Linux Musl
platforms. For glibc/uClibc, the configure script does not define it,
and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with
exception handling.
This patch fixes that by restoring all the logic of
libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one
more case.
It has been successfully runtime tested using the two code examples
provided in bug #7208, with uClibc, musl and glibc.
Cc: Krzysztof Wrzalik <kwrzalik@gmail.com>
Cc: David Bachelart <david.bachelart@bbright.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit fixes bug #7250, by allowing more libstdc++ features to be
enabled with uClibc. libstdc++ wants an absolutely complete C99
support in the C library before enabling *any* feature that needs some
C99 functions. However, uClibc doesn't provide C99 complex numbers, so
libstdc++ disables a lot of C++ standard methods, even though they are
not related to C99 complex numbers.
A partial solution already existed in the patch
302-c99-snprintf.patch, but this commit replaces it by the more
complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it
doesn't rely on configure.ac checks, but simply on testing
defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This
allows to avoid having to autoreconf gcc, which is quite complicated
to achieve.
Reported-by: Richard <tarka.t.otter@gmail.com>
Cc: Richard <tarka.t.otter@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit fixes bug #7250, by allowing more libstdc++ features to be
enabled with uClibc. libstdc++ wants an absolutely complete C99
support in the C library before enabling *any* feature that needs some
C99 functions. However, uClibc doesn't provide C99 complex numbers, so
libstdc++ disables a lot of C++ standard methods, even though they are
not related to C99 complex numbers.
A partial solution already existed in the patch
302-c99-snprintf.patch, but this commit replaces it by the more
complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it
doesn't rely on configure.ac checks, but simply on testing
defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This
allows to avoid having to autoreconf gcc, which is quite complicated
to achieve.
Reported-by: Richard <tarka.t.otter@gmail.com>
Cc: Richard <tarka.t.otter@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit fixes bug #7250, by allowing more libstdc++ features to be
enabled with uClibc. libstdc++ wants an absolutely complete C99
support in the C library before enabling *any* feature that needs some
C99 functions. However, uClibc doesn't provide C99 complex numbers, so
libstdc++ disables a lot of C++ standard methods, even though they are
not related to C99 complex numbers.
A partial solution already existed in the patch
302-c99-snprintf.patch, but this commit replaces it by the more
complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it
doesn't rely on configure.ac checks, but simply on testing
defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This
allows to avoid having to autoreconf gcc, which is quite complicated
to achieve.
Reported-by: Richard <tarka.t.otter@gmail.com>
Cc: Richard <tarka.t.otter@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit fixes bug #7250, by allowing more libstdc++ features to be
enabled with uClibc. libstdc++ wants an absolutely complete C99
support in the C library before enabling *any* feature that needs some
C99 functions. However, uClibc doesn't provide C99 complex numbers, so
libstdc++ disables a lot of C++ standard methods, even though they are
not related to C99 complex numbers.
A partial solution already existed in the patch
302-c99-snprintf.patch, but this commit replaces it by the more
complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it
doesn't rely on configure.ac checks, but simply on testing
defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This
allows to avoid having to autoreconf gcc, which is quite complicated
to achieve.
Reported-by: Richard <tarka.t.otter@gmail.com>
Cc: Richard <tarka.t.otter@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since we marked the AVR32 architecture deprecated, it can no longer be
selected in a normal configuration. This has caused the AVR32
defconfigs to fail to build in our daily Jenkins tests. In order to
make them build again, they must use BR2_DEPRECATED=y. Of course, when
we remove AVR32 completely, we'll remove those defconfigs as well.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When ELF binaries and shared libraries are used, the internal
functions of libnftnl such as xfree() are not visible to the outside
world (their visibility is 'hidden'). Therefore, the fact that other
programs (especially nftables) may have symbols with the same name
does not cause any problem.
However, when doing static linking on a non-ELF platform (such as
Blackfin, which uses the FLAT binary format), there is no way of
encoding this visibility. Therefore, the xfree() symbols of libnftnl
becomes visible to the outside world, causing a conflict with the
xfree() symbol defined by nftables.
To solve this, this patch renames the libnftnl xfree() function to
libnftnl_xfree().
This commit fixes a problem seen after building nftables statically on
Blackfin. This problem was seen after the previous patch fixing the
autobuilder failure:
http://autobuild.buildroot.org/results/98b/98b707ffdeeb1cda94b7c1019ef29cf5fd7db8bf/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When linking against readline, it forgets to link against ncurses,
which is needed by readline. Fix this by passing LIBS="-lcurses" to
the configure script.
Fixes:
http://autobuild.buildroot.org/results/98b/98b707ffdeeb1cda94b7c1019ef29cf5fd7db8bf/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since 3.0.x was EOL and deprecated this would cause it to use newer
headers than the kernel and cause issues.
So switch to custom kernel headers version string to fix this.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Follow the upstream EOL cycle and mark 3.0, 3.11, 3.13 and 3.15
as deprecated for 2014.08.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Images specified in the asciidoc sources (currently only the logo) are
displayed as the file name in the text version of the manual. This causes an
odd line to appear:
logo.png
Avoid this by setting the image representation macros to {empty} in
manual-text.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When the asciidoc source contain URLs of the form:
http://example.com[An example website]
the text representation of the manual would only contain:
An example website
without displaying the actual URL.
This patch adds an asciidoc configuration file that sets the inline macros
for several URL types so that the display becomes:
An example website [http://example.com]
For URLs where no link text was provided, the display becomes:
http://example.com
which is the same as before.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch introduces support for asciidoc configuration files, specific for
each output format (html, text, pdf, ...). This is useful to make certain
tweaks in the document generation.
If a file docs/manual/asciidoc-<format>.conf is present, it is passed to
asciidoc as configuration file. If no file for the current format is
present, the options passed to asciidoc are empty.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In the gendoc infrastructure, using an assignment of the form
FOO = docs/$(1)/bar
inside GENDOC_INNER does not work as expected: the $(1) value is empty here
and the value of FOO becomes 'docs//bar'.
Parameters $(2), $(3), etc. do not have this problem. The specific thing
about $(1) is that it is a parameter to GENDOC itself (indicating the
document to create) and passed transparently to GENDOC_INNER.
This is different from the package infrastructures, where $(1) is set from
$(pkgname). In fact, the same strategy could be used by the gendoc
infrastructure as well, as $(pkgname) resolves to 'manual' for file
docs/manual/manual.mk. This has the advantage that the described problem
does not occur.
Note that this means that if we want to use the same GENDOC infrastructure
for another document, it will have to reside in a separate directory than
the manual.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, pkg-utils.mk (included via package/Makefile.in) is only included
when a configuration file already exists. This means that none of the
utilities it defines are available without .config.
In particular:
- the MESSAGE macro, causing pretty build output. Since some make targets
can be run even without .config, like 'make manual', not having this
pretty printing is odd.
- pkgname, pkgdir: in a subsequent patch, these functions will be used for
the generation of the manual, and since this should work also without
.config, we need these functions to be available.
This patch moves the include of pkg-utils.mk from package/Makefile.in to
Makefile, outside of the check for .config.
This is a quick fix. The full solution involves to minimize the amount of
Makefile code that is guarded by a check on .config. This approach will be
taken in the 2014.11 release cycle.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes
CCLD rstartd.real
auth.o: In function `_do_auth':
auth.c:(.text+0x6a): undefined reference to `_fork'
server.o: In function `_detach':
server.c:(.text+0x80a): undefined reference to `_fork'
To reproduce use this defconfig
http://autobuild.buildroot.net/results/8d5/8d5ad404fab7ec2a501972ba9c08b0109e420b80/defconfig
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes matchbox-panel:
http://autobuild.buildroot.net/results/8d5/8d5ad404fab7ec2a501972ba9c08b0109e420b80/
and matchbox-desktop:
mbdesktop_win_plugin.o: In function `mbdesktop_win_plugin_load':
/home/br/br/output/build/matchbox-desktop-0.9.1/src/mbdesktop_win_plugin.c:22: undefined reference to `_fork'
and matchbox-wm:
matchbox-remote.o: In function `mbcommand':
/home/fli4l/br3/output/build/matchbox-wm-1.2/src/matchbox-remote.c:147: undefined reference to `_fork'
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When selecting an option of a package, that package must also be
selected, otherwise the package is not built.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Wrong variable name is used which can lead to build errors for the host variant:
[...] -I. -DUNIX" AS=" -c" -f unix/Makefile generic
c _match.s
make[1]: c: command not found
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As reported in https://bugs.busybox.net/show_bug.cgi?id=7286,
systemd fails to build with BR2_OPTIMIZE_2=y. This mode activates the GCC
options -flto and -ffat-lto-objects, which do not mix well with the GCC
tricks used in src/compat-libs/linkwarning.h to build the compatibility
libraries.
As a temporary workaround, this patch disables link time optimization for
systemd.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gnupg2 needs a toolchain with locale support or a package which provides
a suitable iconv implementation (libiconv). Otherwise it will fail at
the configure phase with an error like this one:
*** It is now required to build with support for iconv
*** Please install a suitable iconv implementation.
Fixes:
http://autobuild.buildroot.net/results/8c9/8c93c28533dfebffa8b2e34b1421d3fa3cdeb278/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes:
CVE-2014-0032 - mod_dav_svn is vunerable to a remotely triggerable
segfault DoS vulnerability when SVNListParentPath is on.
CVE-2014-3522 - Serf RA layer does not correctly validate certificates
with wildcards in them for HTTPS.
CVE-2014-3528 - Credentials cached with Subversion may be sent to the
wrong server.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
On fedora 20 64bits host, the file /usr/share/config.site contains
a fix for installing libraries into /lib/lib64 on 64bits systems
that redefine libdir in the generated Makefile.
This causes the bug 7262 reported Normen Bolling.
Set CONFIG_SITE to "no" to not use config.site
fixes: https://bugs.busybox.net/show_bug.cgi?id=7262
Reported-by: Normen Bolling <normen.bolling@teufel.de>
Cc: Normen Bolling <normen.bolling@teufel.de>
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes
misc.o: In function `_xfork':
misc.c:(.text+0x614): undefined reference to `_fork'
../lib/libtar.a(rtapelib.o): In function `_rmt_open__':
rtapelib.c:(.text+0x6d2): undefined reference to `_fork'
To reproduce use this defconfig
http://autobuild.buildroot.net/results/8d5/8d5ad404fab7ec2a501972ba9c08b0109e420b80/defconfig
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 93917b6980 (2013.11) introduced
the installation of the binary .qm translation files, unconditionally.
However, the installed size is very large for some embedded systems
(about 8 MB), and they are not needed in many cases.
In order to avoid such a waste of storage space, commit
2ff329412f (2014.08) made this
installation an option that could be disabled. For backward
compatibility, the option default was set to yes.
Given the size of these files, and that they had never been installed
by Buildroot versions before 2013.11, change the default to not
installing them.
Interested users can still activate it as needed.
Also update and improve the help text.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Erlang/OTP 17.1 is a service release on the 17 track with mostly bug
fixes, but it does contain a number of new features and characteristics
improvements as well.
Some highlights of the release are:
- crypto: Add aes_cfb8 cypher to crypto:block_encrypt and block_decrypt.
- diameter: Add result code counters for CEA, DWA, and DPA.
- erts: The following built in functions in the erlang and binary modules
now bump an appropriate amount of reductions and yield when out of
reductions:
binary_to_list/1, binary_to_list/3, bitstring_to_list/1,
list_to_binary/1,
iolist_to_binary/1, list_to_bitstring/1, binary:list_to_bin/1
- hipe: Handle Maps instructions get_map_elements, put_map_assoc,
put_map_exact in the HiPE native code compiler.
- mnesia: The time for inserting locks for a transaction with large
number of locks is reduced significantly.
- ssh: Option max_sessions added to ssh:daemon/{2,3}.
- stdlib: Add maps:get/3 to maps module. The function will return the
supplied default value if the key does not exist in the map.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
"The build failures of bandwidthd observed in the autobuilders in
relation to libpng are caused by the usage of -L/usr/lib
-L/usr/local/lib in the compiler flags, which leads the configure
script to try to link against a host libpng library."
These issues are fixed by:
* Version bump to -r08
"[patched] the configure.ac script to remove the hardcoded
-L/usr/local/lib and -I/usr/local/include. The bandwidthd package
-was already autoreconfigured, so there is no need to add it."
* "Adding the --without-x option, which ensures that the configure.ac
script will not add -L/usr/lib to the compiler flags (and we anyway
haven't added any sort of X.org support to bandwidthd for the
moment)."
Both fixes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Set OPTIMIZE in order to avoid the use of the host $Config{optimize} value
which could cause breakage when cross-compiling for the target.
See discussion in http://lists.busybox.net/pipermail/buildroot/2014-August/104129.html
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The gatttool utility uses readline, and is therefore built only if
--enable-client is used, i.e when bluez5_utils client applications are
enabled. Therefore, this commit makes
BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL depend on
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT. It also moves
BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL to be right below the
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT definition.
Fixes:
http://autobuild.buildroot.org/results/f2b/f2b8b1bf5d50e6223a9a6d6858320975edb2a25a/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
ltrace currently doesn't build on mips/mipsel, and it's an upstream
issue that has been reported. Until it get fixed, let's disable ltrace
for mips/mipsel.
Fixes:
http://autobuild.buildroot.org/results/43a/43a8fc7075f52eab74ebfee4c9f25dd2b886e75e/
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>