ARM926 size delta +12 KB.
It's required for the upcoming mpv package.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Linux kernel doesn't even support i386 anymore, there is no NPTL
support for i386 and uClibc-ng only supports NPTL on x86, so there is
essentially no usable thread implementation. Most likely glibc and
musl also don't support i386 either. So it's time to remove the
support for this architecture variant.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The context functions in uClibc unconditionally use the classic ARM
instruction set.
On platforms that do support the ARM instruction set, there is no problem -
However, on platforms that only support the Thumb instruction set, the
context functions cannot be built since the assembler code is not
Thumb-ready. Therefore, these functions must be disabled on such
platforms. All Thumb1 platforms support ARM instructions, so this is
only relevant for Thumb2-only platforms (i.e., Cortex-M).
Note that some packages require the context functions, so these will
fail to build on these platforms. It is worth mentioning that musl
also doesn't provide the context functions, and those are rarely
used. Affected packages will be handled in later patches.
[Peter: slightly reworded]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The uClibc patches to simplify the ARM Thumb configuration options
have been merged, but instead of being 5 separate patches, they have
been merged as a single patch.
This commit updates the Buildroot uClibc package to use the patch that
was actually upstreamed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As indicated by the uClibc-ng source code, the NPTL thread
implementation is only available on MMU platforms, so we replicate
this dependency in Buildroot so that the appropriate thread
implementation is chosen by default on ARM noMMU.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As explained by Waldemar, enabling DOPIC in uClibc will lead to the
creation of a Position Independent library. In turn, this will cause
elf2flt to generate a "Has-PIC-GOT" flat binary, which doesn't work on
ARM. In fact, elf2flt on ARM really expect to have non-PIC code as
input, so we must disable DOPIC in the uClibc configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Older gcc were not capable of building a uClibc library, with threads
enabled, in Thumb1. However, the issues have been fixed since gcc 4.9,
so this commit narrows down the condition to just gcc 4.7 and 4.8.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a number of patches to uClibc that radically
simplifies the Thumb handling. uClibc currently has three options that
you need to toggle on Thumb configurations depending on the specific
ARM CPU being targeted.
However, it turns out that none of those options are necessary:
- USE_BX can simply be guessed by looking at the ARM core being
used. The bx instruction is available for all ARM cores >=
ARMv4T. This is exactly what glibc is doing.
- USE_LDREXSTREX can also be guessed by looking at the ARM core being
used: whenever you have Thumb2, ldrex/strex is available.
- COMPILE_IN_THUMB becomes useless, since all it does is passing
-mthumb. But just like the uClibc config options to set
--march=<foo> have been removed a long time ago, there's no need to
-have an option to pass -mthumb.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As recently reported on the mailing list:
http://lists.busybox.net/pipermail/buildroot/2016-February/154130.html
Our configuration options to use sha-256 / sha-512 password encoding do not
work very well with uClibc-ng as our defconfig doesn't enable support for
these encodings, breaking E.G. password login with dropbear.
Notice that it doesn't break login with the busybox login applet, as we
currently force the use of the internal busybox password handling routines
when sha-256/512 encoding is used. This workaround can afaik now be removed.
To fix this, enable support for these password encodings in our defconfig.
Do it unconditionally and not based on BR2_TARGET_GENERIC_PASSWD_* so it
also works when a Buildroot toolchain is reused as an external toolchain and
as the support code is quite small (~8KB):
-rwxr-xr-x 1 peko peko 13360 Mar 7 22:56 output/target/lib/libcrypt-1.0.12.so
-rwxr-xr-x 1 peko peko 21552 Mar 7 23:47 output-sha/target/lib/libcrypt-1.0.12.so
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Unless the tests are built with TEST_INSTALLED_UCLIBC their rpath will
point to the build directory rather than runtime directory, resulting in
non-executable tests for the target.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
New release contains a security fix for the resolver library parts.
It contains exp10(), so some patches in buildroot might be obsolete,
when the buildroot toolchains are rebuilt.
It also contains a fix for the symbol clashing with bind9.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since we now only support uClibc-ng, remove the version selection from
the uclibc package.
Note that the BR2_UCLIBC_VERSION_SUPPORTS_* hidden booleans, which
were only used to allow each uClibc version to specify which thread
implementation they support and on which architecture are removed. Now
such architecture dependencies are directly encoded in the "Thread
library implementation" choice.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The snapshot version points to the original uClibc project, which is
dead. Moreover, we no longer support "snapshot" versions for any other
Buildroot component, so there is no reason to keep it for uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The upstream project is dead, the 0.9.33 version requires tons of
patches, and uclibc-ng has now successfully replaced uclibc. It is
time to get rid of the 0.9.33 version.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Update to 1.0.11. Contains a lot of bugfixes
and some new features:
* mips{32r6,64r6} enablement
* argp support
* support for very simple /etc/gai.conf
* Xtensa nommu vfork fix
* systemd portability fixes
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
ARC is supported by uClibc-ng, cleanup old code.
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes a fanotify include bug where old kernels (2.6.x) fail to build.
Fixes recent failures on x86 with Linux 4.3.x kernel regarding
network sockets. Includes the removed patch.
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For quite some time all ARC changes have been pushed upstream.
So both uClibc master branch and uClibc-ng have full ARC support
including the most recent changes.
I.e. finally we have reached the point when there's no need in
Synopsys fork of uClibc on GitHub and it will soon be obsoleted and
removed at some pint of time.
Now since vanilla uClibc hasn't seen any releases for many years we cannot
really use it for ARC. Fortunately there exists uClibc-ng and Waldemar
cuts releases regularly - that works perfectly fine for us.
That patch removes all mentions of ARC's uClibc which in turn makes
uClibc-ng default libc for ARC.
Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-By: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes following problems:
- mips64 toolchain building when UCLIBC_HAS_CONTEXT_FUNCS is enabled
- segfault when SSP and NPTL is used for static binaries
- Updates for ARC and Xtensa
- missing syscalls for fanotify_init() and fanotify_mark() are added
- support for the syncfs() system call added
- problems compiling freeswitch are fixed
- problems running LTP regarding fallocate are fixed
Tested with defconfigs for Qemu arm/ppc/sh/mips/x86/x86_64/xtensa.
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Filter out all other uClibc versions, as they containing
serious bugs for mips64.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
So the workaround can be dropped now that we've moved to uClibc-ng 1.0.6.
[Peter: Extend commit message]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit adds 2 patches on top of arc-2015.06 release:
0001-nptl-remove-duplicate-vfork-in-libpthread.patch
0002-ARCv2-update-memset-so-it-could-be-used-without-doub.patch
The first patch fixes multiple build issues when using static build like
http://autobuild.buildroot.net/results/b704016acfa38e7998739a2c70bcf6020c59bda8/
The second patch allows for building uClibc for ARCv2 based CPUs that
doesn't have 64-bit load/store capabilities.
Both patches should be a part of the next release/update of ARC GNU
tools so then they should be removed from Buildroot.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Recently uClibc got support of "savedefconfig" target that allows
generation of compact configuration description which only lists
differences from default options.
That's uClibc commit -
http://git.uclibc.org/uClibc/commit/?id=e286a674419d31cb0757dd2f8307d8b4756cf1f9
This change represents post-processing of "uClibc-snapshot.defconfig"
and "uClibc-ng.config" with "make savedefconfig" made on current
uClibc/master and uClibc-ng/1.0 branches accordingly.
Unfortunately the most recent stable uClibc version 0.9.33.2 doesn't
have "savedefconfig" target so I'm leaving uClibc-0.9.33.config as it
is.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Modern ARC cores (those sporting MMU of version 3 and 4) allow selection
of different page sizes (4, 8 or 16 kB) during ASIC design creation.
And it's important to build a toolchain with page size setting that matches
hardware.
Otherwise user-space applications will fail on execution due to
unexpected data layout/alignment etc.
[Thomas: slightly improve help text, fix indentation of help text.]
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes gcc 5.1 errors and contains all recent
improvements to Xtensa/ARC NPTL/TLS.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following the switch to uClibc-ng as the default library, uClibc-ng
was also used as the default on ARC, while we actually want to use the
ARC specific version by default on this architecture.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Even though this is only RC1 it's been heavily used internally so it should
not be any worse than existing arc-2014.12.
Moreover this relase (and so its RC1) finally delivers support of NPTL
for ARC in uClibc.
That's why it would be good to allow interested users to start trying it
(for example WebKit and apps that use WebKit could be successfully built
and run) also it will be helpful to run that new toolchain through
autobuilder in attempt to find any hidden regressions so we have a solid
toolchain for release.
If there's an interest in that patch more patches will follow with
subsequent RCs and essentially on appearence or relese Buildroot will be
updated with it.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a fix for building uClibc 0.9.33.2 and uClibc-ng
1.0.3 with gcc 5.1 on ARM, since we're about to add support for gcc
5.1.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit bumps uClibc-ng to the latest version, and drops the two
patches that have been merged upstream.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>