summaryrefslogtreecommitdiffstats
path: root/package/uclibc
Commit message (Collapse)AuthorAgeFilesLines
...
* ARC: bump tools to 2014.12 releaseAlexey Brodkin2015-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now when new shiny tools are released by Synopsys we're ready for version update in Buildroot again. More details about arc-2014.12 release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2014.12 Following patches were removed from GCC since they are a part of release now: * 200-size_type_unsigned_int.patch * 300-ptrdiff_type_int.patch * 400-call-arc_hazard-before-branch-shortening.patch * 401-fix-length-attribute-for-casesi_load-pattern.patch * 402-fix-length-of-instructions-that-are-in-delay-slot-and-needs-to-be-predicated.patch * 403-update-casesi_compact_jump-instruction-length.patch But since arc-2014.12 tools are still based on GCC 4.8 following patches ar still relevant so moving to the new folder to match ARC gcc bump. * 100-libstdcxx-uclibc-c99.patch * 910-gcc-poison-system-directories.patch Binutils are still based on 2.23 so following patch still makes sense: * 600-poison-system-directories.patch Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@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>
* uclibc/0.9.33.2: Rename MIPS' siginfo _timer membersVicente Olivert Riera2015-02-011-0/+157
| | | | | | | | | | | | | | Backport an upstream patch to fix a compilation problem of strace-4.9+ on MIPS platforms with uClibc. Upstream commit: http://git.uclibc.org/uClibc/commit/?id=a1b88fe87a9d2be5696247d266f5c4fd20f000bb Fixes: http://autobuild.buildroot.net/results/e8f/e8f4965b27c9dcc58d6ec77cdc48b83c218c5bec/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupJerzy Grzegorek2015-01-151-2/+3
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupJerzy Grzegorek2014-12-221-4/+4
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBSThomas Petazzoni2014-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed from "prefer static libraries when possible" to "use only static libraries". The former semantic didn't make much sense, since the user had absolutely no control/idea of which package would use static libraries, and which packages would not. Therefore, for quite some time, we have been starting to enforce that BR2_PREFER_STATIC_LIB should really build everything with static libraries. As a consequence, this patch renames BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS, and adjust the Config.in option accordingly. This also helps preparing the addition of other options to select shared, shared+static or just static. Note that we have verified that this commit can be reproduced by simply doing a global rename of BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* uclibc: enable UCLIBC_HAS_STRING_GENERIC_OPT in all configsAlexey Brodkin2014-12-103-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description in uClibc for this optoin is: --->--- bool "Use faster (but larger) generic string functions" default y help Answer Y to use the (tweaked) glibc generic string functions. In general, they are faster (but 3-5K larger) than the base uClibc string functions which are optimized solely for size. Many people will answer Y. --->--- Additional 3-5K of size is not that important if resulting libuClibc.so is of size about 300k. But benefits in terms of performance could be pretty significant. For example on ARC in LMbench we see more than 3 times bump in some tests --->--- libc bcopy unaligned ... 8.39 - 6.76 (UCLIBC_HAS_STRING_GENERIC_OPT=no) 8.39 - 23.86 (UCLIBC_HAS_STRING_GENERIC_OPT=yes) --->--- Also since the option in question is default in uClibc I don't expect if enabled back (it was silently disabled in http://git.buildroot.net/buildroot/commit/?id=cfbf8abc33d86a0cf5c1bb3e0817a22009b7f301 on introduction of NPTL in uClibc by Khem Raj) it to introduce problems. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Anton Kolesov <anton.kolesov@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Khem Raj <raj.khem@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/mips: remove deprecated mips1/2/3/4 supportGustavo Zacarias2014-12-011-4/+0
| | | | | | | | | | Remove the support for generating mips1/2/3/4 code since it has been deprecated for more than a year now. Also remove the unnecessary kludges in packages for it. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: do not use GENERATE_LOCALEThomas Petazzoni2014-11-211-2/+4
| | | | | | | | | | | | | | | | | | Since commit 33de7401701e5242196a86b0695ee4ae9a4c4082 ("Makefile: convert "target-generatelocales" to a hook"), the GENERATE_LOCALE variable is never defined when using uClibc. This means that setting any value to the BR2_GENERATE_LOCALE option had no effect for uClibc toolchains. In this commit, we make sure the uclibc.mk logic re-creates its own qstripped version of BR2_GENERATE_LOCALE, in a variable called UCLIBC_GENERATE_LOCALES. This fixes locale generation with uClibc in the internal toolchain backend. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: indentation cleanupJerzy Grzegorek2014-11-021-1/+1
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arc: add support of ARC HS38 coreAlexey Brodkin2014-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | Synopsys has recently announced its new ARC HS38 core that is capable of running Linux - http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor ARC HS38 is based on ARCv2 ISA and requires special settings of gcc and libc. Also in case of HS38 atomic extensions (LLOCK/SCOND instructions) are built-in by default, so enabling atomic extensions in Buildroot as well. This commit adds support of the core in buildroot. [Peter: string type, so must be in quotes as noted by Yann] Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Anton Kolesov <anton.kolesov@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: add explicit setup of ARC-specific optionsAlexey Brodkin2014-11-022-0/+18
| | | | | | | | | | | | | As with other architectures for ARC we need to have an ability to set specific options in uClibc. In particular this is required for selection of ARC ISA version. [Peter: string type, so must be in quotes as noted by Yann] Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Anton Kolesov <akolesov@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/uclibc: enable long double math for xtensaMax Filippov2014-10-251-0/+26
| | | | | | | | | | | | | | | | | | | | It fixes the following build failure for packages that expect long double support in libm: Linking C executable winpr-hash ../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `powl' ../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `fmodl' ../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `ceill' ../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `log10l' ../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `floorl' Fixes: http://autobuild.buildroot.net/results/323/3236ddfe8eaf89f05f84db60eb42583cca397464/ Mainline status: patch submitted. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: Do not include __iconv_codesets into iconv utilityVicente Olivert Riera2014-10-252-0/+158
| | | | | | | | | | | | | | | | | | | | Backporting an upstream patch to fix a problem in the install step: make[1]: Entering directory `/br/output/build/uclibc-0.9.31.1' make[2]: Nothing to be done for `locale_headers'. CC utils/getconf STRIP -x -R .note -R .comment ../utils/getconf CC utils/iconv ../lib/libc.a(iconv.os):(.rodata+0x18): multiple definition of `__iconv_codesets' /tmp/ccVmV8Lq.o:(.rodata+0x18): first defined here collect2: error: ld returned 1 exit status Upstream commit: http://git.uclibc.org/uClibc/commit/?id=d46dc8bc88e38251bfa3712efe7abf62933f5419 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: rename patches to follow the new name structureVicente Olivert Riera2014-10-2577-0/+0
| | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add hash fileGustavo Zacarias2014-10-191-0/+4
| | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: drop stray patchesGustavo Zacarias2014-10-142-136/+0
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: explicitly set HAVE_SHARED depending on BR2_PREFER_STATIC_LIBAlexey Brodkin2014-10-134-3/+11
| | | | | | | | | | | | | | Now with change of BR2_PREFER_STATIC_LIB meaning to "do not build dynamic libs and build statically linked applications" it's possible to disable support of shared libs in uClibc as well as builting of shared libc libs. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uClibc: ldso/libdl: Also include dl-tls.h for for !SHARED.Vicente Olivert Riera2014-10-121-0/+58
| | | | | | | | | | | | | | | | | | | | | Apply an upstream patch: http://git.uclibc.org/uClibc/commit/ldso/libdl/libdl.c?id=b57e9640db53166c88cdac66b79a046e46b8d728 On MIPS, several relocations that were original only resolved by the dynamic linker were reused as static relocations. Consequently the macros TLS_DTPREL_VALUE and TLS_TPREL_VALUE defined in libpthread/nptl/sysdeps/mips/dl-tls.h need to be available even for !SHARED. Relevant: http://www.linux-mips.org/wiki/NPTL#History Fixes: http://autobuild.buildroot.net/results/85e/85e66962da9a6b80e1d1b721031b6ef0da45e3d5/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: build uclibc unstripped by defaultAlexey Brodkin2014-10-124-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uClibc can be built stripped (implemented as link-time option in uClibc). This could be useful for those who build root fs manually. In Buildroot there is a global strip stage wich strips most of shared libs in "target" folder (wexcept kernel modules known to not work properly being stripped and libpthread required to be non-stripped for correct debugging with gdb of multi-threaded apps). So there're few problems with current implementation: 1. uClibc is being stripped 2 times (first on its build stage, second on global Buildroot strip stage) 2. uClibc libs in "staging" folder are also always stripped except if "no strip" (BR2_STRIP_none) is explicitly is selected in Buildroot config. That makes it possible to remote debug uClibc libs on target only if target rootfs was not stripped (which might not be possible due to huge libs like Qt) This patch disables embedded strip in uClibc (still users may modify uClibc config and explicitly set "DOSTRIP=yes" if really needed). Interesting that DOSTRIP was not only selected in uClibc config but also was force set with Buildroot on uClibc configuration step with UCLIBC_STRIP_CONFIG. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into accountVicente Olivert Riera2014-10-122-0/+140
| | | | | | | | | | | Applying an upstream patch to make __SIGEV_PAD_SIZE to take __WORDSIZE into account for alpha, mips and ia64 arches. Upstream patch URL: http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b97b4b698b023f75b54f987859c856ab4861ea00 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: add a missing function member to siginfo.hVicente Olivert Riera2014-10-122-0/+132
| | | | | | | | | | | | | | Applying an upstream patch to add a missing function member on ia64, mips and sparc arches. Upstream patch URL: http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912 Fixes: http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: add ptrace fixes for ppc & sparcGustavo Zacarias2014-10-112-0/+285
| | | | | | | | Add ptrace header fixes for ppc and sparc. Patch status: upstream. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* packages: rename FOO_KCONFIG_OPT into FOO_KCONFIG_OPTSThomas De Schampheleire2014-10-041-1/+1
| | | | | | | | | | | | To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_KCONFIG_OPT. Sed command used: find * -type f | xargs sed -i 's#_KCONFIG_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: two-stage gcc simplificationsThomas Petazzoni2014-09-141-20/+2
| | | | | | | | | | | | After switching to a two stage gcc solution, there is no longer a need to do weird things in the uclibc build. We can greatly simplify UCLIBC_CONFIGURE_CMDS to only do the configuration, and let the existing UCLIBC_BUILD_CMDS do the build. Note that we have to build the headers before starting the C library build, otherwise there is a build failure (probably a uClibc bug). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: switch to a two stage gcc buildThomas Petazzoni2014-09-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the internal toolchain backend does a three stage gcc build, with the following sequence of builds: - build gcc-initial - configure libc, install headers and start files - build gcc-intermediate - build libc - build gcc-final However, it turns out that this is not necessary, and only a two stage gcc build is needed. At some point, it was believed that a three stage gcc build was needed for NPTL based toolchains with old gcc versions, but even a gcc 4.4 build with a NPTL toolchain works fine. So, this commit switches the internal toolchain backend to use a two stage gcc build: just gcc-initial and gcc-final. It does so by: * Removing the custom dependency of all C libraries build step to host-gcc-intermediate. Now the C library packages simply have to depend on host-gcc-initial as a normal dependency (which they already do), and that's it. * Build and install both gcc *and* libgcc in host-gcc-initial. Previously, only gcc was built and installed in host-gcc-initial. libgcc was only done in host-gcc-intermediate, but now we need libgcc to build the C library. * Pass appropriate environment variables to get SSP (Stack Smashing Protection) to work properly: - Tell the compiler that the libc will provide the SSP support, by passing gcc_cv_libc_provides_ssp=yes. In Buildroot, we have chosen to use the SSP support from the C library instead of the SSP support from the compiler (this is not changed by this patch series, it was already the case). - Tell glibc to *not* build its own programs with SSP support. The issue is that if glibc detects that the compiler supports -fstack-protector, then glibc uses it to build a few things with SSP. However, at this point, the support is not complete (we only have host-gcc-initial, and the C library is not completely built). So, we pass libc_cv_ssp=no to tell the C library to not use SSP support itself. Note that this is not a big loss: only a few parts of the C library were built with -fstack-protector, not the entire library. * A special change is needed for ARC, because its libgcc depends on the C library, which breaks building libgcc in host-gcc-initial. This looks like a bug in the ARC compiler, as it does not obey the inhibit_libc variable which tells the compiler build process to *not* enable things that depend on the C library. So for now, in host-gcc-initial, we simply disable the build of libgmon.a for ARC. It's going to be built as part of host-gcc-final, so the final compiler will have gmon support. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: fix duplicate vfork problems when static linkingWaldemar Brodkorb2014-09-141-0/+691
| | | | | | | | | | | | | | | | | | | | Reported on uClibc mailinglist by Thomas Petazzoni Should fix: * SuperH http://autobuild.buildroot.org/results/a81/a810c2f27dee1978808461c05cbdcbf51a214e09/build-end.log * i386 http://autobuild.buildroot.org/results/f83/f83b65bfc6ea7c7406a02e92afda43e4c5db6e7c/build-end.log * x86-64 http://autobuild.buildroot.org/results/64f/64f418f54885e8b5093dc8949c2d1d1ff3c938ea/build-end.log * powerpc http://autobuild.buildroot.org/results/d5b/d5b7ac84dde0e4e26cd7cc46d79e66c39ed5cd53/build-end.log Tested with i386 static build of alsa-utils. Patch will be send to uClibc soon, need to finish test-suite run. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ARC: bump tools to 2014.08 releaseAlexey Brodkin2014-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Now when new shiny tools are released by Synopsys we're ready for version update in Buildroot. Important change in this release is switching to combined "binutils-gdb" repo in accordance to upstream move. Following patch now is a part of the most recent relese: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/e6ab8cac627a44a7594aeb907a579d8d2f066ba5 So dropping it. package/binutils/arc-4.8-R3/0001-arc-Honor-DESTDIR-in-custom-Makefile.patch Since arc-2014.08 tools are still based on GCC 4.8 following patch is still relevant so moving to the new folder to matxh ARC gcc bump. package/gcc/arc-4.8-R3/100-libstdcxx-uclibc-c99.patch -> package/gcc/arc-2014.08/100-libstdcxx-uclibc-c99.patch Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* infra/pkg-kconfig: incorporate oldconfig call to avoid endless rebuildsThomas De Schampheleire2014-08-061-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | The configure step of the busybox package performs 'make oldconfig', which causes the .config file to be updated. Thus, the .config file is more recent than our stamp file .stamp_kconfig_fixup_done. On a subsequent build, our dependency rules would kick in, and run the config fixup again, thus kicking in the package's configure, build and install steps yet once more, that, ad infinitum. One solution is to modify kconfig-package to introduce an explicit touch of the .kconfig_fixup_config_done stamp file, as post-configure hook. Another solution, implemented by this patch, is to move the oldconfig call from the package's .mk file to the kconfig-package infrastructure and make sure it is done as part of the fixup commands. This way, the stamp file will only be touched once, after the full fixup (including oldconfig) and no endless rebuilds will occur. Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: convert to kconfig-package infrastructureThomas De Schampheleire2014-08-041-24/+10
| | | | | | | | | | This patch converts the uclibc package to the new kconfig-package infrastructure, thus removing code duplication and ensuring a consistent behavior of kconfig packages. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: fixup config before calling menuconfigThomas De Schampheleire2014-08-041-1/+1
| | | | | | | | | | | | | | | | | The uclibc-menuconfig command is currently run based on the user-specified config file, while the fixup of the config file is done afterwards. However, it makes more sense to do an initial fixup _before_ running menuconfig, so that the options presented to the user are consistent with the final configuration. This patch changes the dependency of the menuconfig target from .config to .stamp_config_fixup_done to achieve this. Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@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>
* uclibc: use $(MAKE) iso $(MAKE1) for menuconfig targetThomas De Schampheleire2014-07-291-1/+1
| | | | | | | | | | | | | | There is no real reason to run uclibc-menuconfig in non-parallel mode, even though one can neither expect performance benefits from a parallel menuconfig. Nevertheless, $(MAKE) is the default, so this patch removes the unnecessary non-default $(MAKE1) usage for uclibc-menuconfig. This is a simplification introduced in preparation of the kconfig-package infrastructure. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: update-config: preserve freshly configured settingsThomas De Schampheleire2014-07-291-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the sequence: make uclibc-menuconfig make uclibc-update-config the freshly configured settings from the menuconfig are lost during the update-config step. This is because update-config depends on the configure step, which starts by copying the config file to the build directory. Instead, stop depending on the configure step from update-config, and introduce a new stamp file .stamp_config_fixup_done, which applies any fixups on the .config file. An alternative solution would be to add a call to UCLIBC_FIXUP_DOT_CONFIG to the relevant targets instead of depending on a new stamp file. The advantage of the stamp file, though, is that we avoid redoing the fixup unnecessarily. Moreover, in the light of the plan to extract the kconfig-specific bits into a separate kconfig-package infrastructure, the stamp file rules are more easily moved into such an infrastructure, while the alternative solution requires the package .mk file to explicitly call the FIXUP rules which may more easily be forgotten. No longer depending on the configure step has the added bonus that 'uclibc-update-config' no longer needs the toolchain to be available, which makes: make clean uclibc-menuconfig uclibc-update-config much faster and user-friendly. Additionally, make sure that 'make clean uclibc-update-config' works properly, by depending on .stamp_config_fixup_done so that the config file is present and fixed. Fixes bug #7154 https://bugs.busybox.net/show_bug.cgi?id=7154 Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: menuconfig: take into account initial settings from config fileThomas De Schampheleire2014-07-291-4/+8
| | | | | | | | | | | | When executing the sequence 'make clean uclibc-menuconfig', the configured config file is not taken into account and one starts from the default settings. This patch adds an explicit target for the config file and lets the configure and menuconfig steps depend on it, fixing the problem. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: rename SETUP_DOT_CONFIG to FIXUP_DOT_CONFIGThomas De Schampheleire2014-07-291-2/+2
| | | | | | | | | | | | In a subsequent patch, the behavior of UCLIBC_SETUP_DOT_CONFIG will change so that it only applies fixups to the (already copied) configuration file. This patch renames this function to UCLIBC_FIXUP_DOT_CONFIG to better match the future behavior. Suggested-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: build tests after uClibc libs are installed to staging locationAlexey Brodkin2014-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If libuClibc is not installed to staging on attempt to build tests following errors happen: ============ TEST_LINK termios/ termios .../host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/crt1.o: In function `__start': .../build/uclibc/libc/sysdeps/linux/arc/crt1.S:53: undefined reference to `__uClibc_main' termios.o: In function `main': .../build/uclibc/test/termios/termios.c:13: undefined reference to `printf' .../build/uclibc/test/termios/termios.c:14: undefined reference to `printf' .../build/uclibc/test/termios/termios.c:16: undefined reference to `stdout' .../build/uclibc/test/termios/termios.c:16: undefined reference to `fileno' .../build/uclibc/test/termios/termios.c:16: undefined reference to `ioctl' .../build/uclibc/test/termios/termios.c:19: undefined reference to `perror' .../build/uclibc/test/termios/termios.c:21: undefined reference to `printf' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `memcpy' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `malloc' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `abort' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `calloc' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `dl_iterate_phdr' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `realloc' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `memset' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `strlen' .../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `free' collect2: error: ld returned 1 exit status make[3]: *** [termios] Error 1 ============ And the simplest solution is to build tests right before installation in UCLIBC_INSTALL_TARGET_CMDS which follows UCLIBC_INSTALL_STAGING_CMDS so all required libs are in place. Interesting note - if one enables uClibc tests after initial full buildroot build mentioned errors don't happen. This is because uClibc libc libs are already installed to staging. That's why I didn't noticed this problem before. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: fix networking support on sparcWaldemar Brodkorb2014-07-291-0/+39
| | | | | | | | | | While updating the default config for Sparc, I noticed that networking is broken. The reason is a uClibc backport patch from uClibc master. This commit adds a fix on top of it, which was submitted to upstream uClibc. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: include C libraries in legal-infoYann E. MORIN2014-07-261-0/+5
| | | | | | | | | | | | | | | | | So far, the legal-info infrastructure was not exporting the legal info for the C libraries. This is because the legal-info only acts on packages defined in $(TARGETS). But the C libraries are never added to $(TARGETS), since there is no corresponding BR2_PACKAGE_<C-LIBRARY>. This patch adds such symbols for the 4 C libraries we support in our internal backend: uClibc, glibc, eglibc and musl. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* make: bump to version 4.0Thomas Petazzoni2014-07-191-0/+1
| | | | | | | | | | | | | | This commit bumps make to version 4.0. This version now uses fork(), so it is no longer available on non-MMU platforms, which consequently works around: http://autobuild.buildroot.org/results/2e1/2e1b11ccb501f1ab431c04435be52a6538d035cb/ The glob special options seem to no longer be needed, at least make 4.0 builds fine with both an ARM uClibc toolchain and an ARM glibc toolchain. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: fix tests building in uClibc 0.9.33.2Alexey Brodkin2014-07-153-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following patches are required for successful bulding of uClibc built-int tests (BR2_UCLIBC_INSTALL_TEST_SUITE=y): 1. uclibc-0059-test-cater-for-config.patch http://git.uclibc.org/uClibc/commit/test?id=7598eeaa1defa2884adaa890bb115c493d69cc35 2. uclibc-0058-test-tls-fix-build-with-newer-binutils.patch http://git.uclibc.org/uClibc/commit/test?id=931e8391565323ed2e589c83b83a7345813a5514 3. uclibc-0060-test-Fix-math-c-dependency.patch http://git.uclibc.org/uClibc/commit/test/math?id=a20a91ad7c042c46e4a2adee6d03315f857f9985 All mentioned patches must be removed as obsolete on bumping uClibc to the next release. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: don't install tools to staging when staticGustavo Zacarias2014-07-151-2/+2
| | | | | | | | | | Don't try to install ld* tools to staging when it's a static build, there's no point and it'll be broken once we build a purely-static uclibc. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: replace custom kconfig helpers with those provided by pkg-utilsThomas De Schampheleire2014-07-151-110/+96
| | | | | | | | | | This patch removes the custom kconfig helpers UCLIBC_OPT_SET and UCLIBC_OPT_UNSET with the common KCONFIG_SET_OPT, KCONFIG_ENABLE_OPT and KCONFIG_DISABLE_OPT. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: remove BR2_UCLIBC_ARM_TYPEThomas Petazzoni2014-07-102-28/+0
| | | | | | | | | | The BR2_UCLIBC_ARM_TYPE was only used for uClibc 0.9.32 on ARM. Now that only uClibc 0.9.33 is supported for ARM, there is no point in keeping BR2_UCLIBC_ARM_TYPE, since the corresponding uClibc options no longer exist. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: remove version 0.9.32.1Thomas Petazzoni2014-07-1010-1222/+0
| | | | | | | | | This commit removes the 0.9.32.1 version of uClibc, which is very old, and does not bring any specific advantage over 0.9.33, which has been around for more than two years now. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: disable parallel build for uClibc 0.9.31Alexey Brodkin2014-07-011-1/+13
| | | | | | | | | | | | | | | | | This is only required for uClibc 0.9.31 and this veriosn is only used by AVR32 so could be safely removed together with AVR32. Even 0.9.32 builds well in parallel (at least on x86) so IMHO there's no need in >= 0.9.33, just disable for a particular broken version. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: enable parallel building of librariesAlexey Brodkin2014-06-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The use of MAKE1 for uClibc dates back 10 years: commit 8e5fb3fb4ab09b4dc04fe7cb3f7becce6514117b Author: Eric Andersen <andersen@codepoet.org> Date: Sat Dec 11 13:01:10 2004 +0000 Add initial BR2_JLEVEL support, with some exceptions for apps that have broken 'make -j' support Since that time there were lots of improvements in uClibc that seem to allow parallel building of libs finally. Unfortunately uClibc tests have dependences on previously built files, that's why tests left with MAKE1. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add license informationGustavo Zacarias2014-06-261-0/+2
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: prevent rebuilding after installation to stagingAlexey Brodkin2014-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we configure uClibc to use kernel headers from "staging" folder with KERNEL_HEADERS="$(STAGING_DIR)/usr/include". This path is added to include search path of uClibc build system in Rules.mak "CFLAGS += -I$(KERNEL_HEADERS)". At the same time on uClibc installation to "staging" we point to the same location "$(STAGING_DIR)/usr" (headers effectively go in "usr/include"). So after every installation to "staging" dependences get touched (even though we copy the same headers every time) and so we may see lots of sources in uClibc get rebuilt. This has 2 consequences: 1. Longer build time - becase even on ordinary buildroot build uClibc is built twice. On "uclibc building" and on "uclibc installation to target". 2. Symbols in libuClibc built initially (that is later installed in "staging/sysroot") are situated with different offset compared to second build (later copied in "target"). This happens because as described above only part of sources get rebuilt and then on final linkage object files are linked in different order. And (2) leads to problems on remote rebugging: gdbserver reports offsets that correspond to pointless assembly in libuClibc on host. Here's how it looks like. Before this patch: $ cd ~/br2_output/i586/target/lib $ i586-buildroot-linux-uclibc-readelf -s libuClibc-0.9.33.2.so | grep kill 423: 0000c42c 54 FUNC GLOBAL DEFAULT 7 kill $ cd ~/br2_output/i586/staging/lib $ i586-buildroot-linux-uclibc-readelf -s libuClibc-0.9.33.2.so | grep kill 423: 0000b518 54 FUNC GLOBAL DEFAULT 7 kill After this patch: $ cd ~/br2_output/i586/target/lib $ i586-buildroot-linux-uclibc-readelf -s libuClibc-0.9.33.2.so | grep kill 423: 0000b518 54 FUNC GLOBAL DEFAULT 7 kill $ cd ~/br2_output/i586/staging/lib $ i586-buildroot-linux-uclibc-readelf -s libuClibc-0.9.33.2.so | grep kill 423: 0000b518 54 FUNC GLOBAL DEFAULT 7 kill Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Noam Camus <noamc@ezchip.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uclibc: add patches to fix MIPS __SIGRTMAX and SIG127James Hogan2014-06-092-0/+97
| | | | | | | | | | | | | | | | | | | | | Add two uClibc 0.9.33.2 patches which fix issues relating to high signal number handling on MIPS. The first patch (0056) fixes _NSIG (and as a result __SIGRTMAX) to match glibc. This fixes GDB on MIPS with uClibc, which cannot handle __SIGRTMAX == 128 and emits the error: GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal This patch is from uClibc commit 2da958760f79 (MIPS: set _NSIG to 128, not 129. This matches glibc.) and applies without conflicts. The second patch (0057) fixes the wait status macros to correctly interpret status 0x007f on MIPS (other arches don't have signal 127). This patch is from uClibc commit 4a96b9486871 (bits/waitstatus.h: correctly interpret status 0x007f on MIPS) and applies without conflicts. Signed-off-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add patch to fix arch specific eventfd defsJames Hogan2014-06-091-0/+284
| | | | | | | | | | | | | | | Add uClibc 0.9.33.2 patch to fix arch specific eventfd definitions, particularly EFD_NONBLOCK. The definition in sys/eventfd.h was 04000 (0x800), however MIPS uses 0200 (0x80). This resulted in QEMU built for MIPS hanging at various points until input is received due to a blocking poll of stdin. The patch is a backport of uClibc commit fd355bc1dbcb (eventfd.h: Use new "bits/" scheme for arch-specific flags). The only conflict was minor in Makefile.in. Signed-off-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: fix build without LARGEFILE for xtensaBaruch Siach2014-06-031-0/+98
| | | | | | | | | The default uClibc version for xtensa is broken when LARGEFILE is disabled. Add a patch to fix this. Reported-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
OpenPOWER on IntegriCloud