summaryrefslogtreecommitdiffstats
path: root/package/glibc
Commit message (Collapse)AuthorAgeFilesLines
...
* (e)glibc: add security patches for CVE-2014-7817Gustavo Zacarias2014-11-275-0/+694
| | | | | | | | Fixes: CVE-2014-7817 - command execution in wordexp() with WRDE_NOCMD specified Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc/nsswitch.conf: also lookup on dns for networksGustavo Zacarias2014-10-251-6/+2
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* system/skeleton: make nsswitch install conditionalGustavo Zacarias2014-10-251-0/+17
| | | | | | | | | | | | Don't blindly install the /etc/nsswitch.conf file, it's useless for toolchains that aren't (e)glibc-based and misleading. Make the installation conditional on a (e)glibc toolchain. [Thomas: use $(INSTALL) instead of cp.] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* eglibc/glibc: add hash fileGustavo Zacarias2014-10-221-0/+8
| | | | | | 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>
* packages: rename FOO_INSTALL_STAGING_OPT into FOO_INSTALL_STAGING_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_INSTALL_STAGING_OPT. Sed command used: find * -type f | xargs sed -i 's#_INSTALL_STAGING_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>
* glibc: two-stage gcc simplificationsThomas Petazzoni2014-09-141-11/+0
| | | | | | | | | | After switching to a two stage gcc solution, there is no longer a need to do weird things in the glibc build. We can greatly simplify GLIBC_CONFIGURE_CMDS to only do the configuration, and let the existing GLIBC_BUILD_CMDS do the build. 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/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* toolchain/glibc: add version 2.20Gustavo Zacarias2014-09-092-39/+5
| | | | | | | | | And remove version 2.18 to just keep two versions around. So bump the default to 2.19. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: remove the trailing slash sign from <PKG>_SITE variableJerzy Grzegorek2014-07-311-1/+1
| | | | | | | | | | | | Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk: $(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)) so it is redundant. This patch removes it from $(PKG)_SITE variable for BR consistency. Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: include C libraries in legal-infoYann E. MORIN2014-07-261-0/+10
| | | | | | | | | | | | | | | | | 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>
* glibc: remove redundant version logicBaruch Siach2014-06-021-3/+2
| | | | | | | | Since commit 990a46fdec6a (glibc: move version handling to Config.in) we use Config.in version strings. Remove glibc.mk duplicate. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: move version handling to Config.inPeter Korsgaard2014-06-012-0/+8
| | | | | | | Like we do elsewhere. No functional change, but nicer and easier to keep in sync. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: add eglibc 2.19-svnr25243 and choice menuGustavo Zacarias2014-06-012-1/+19
| | | | | | | | | Add glibc 2.19-svnr25243 and a choice menu to select between different eglibc versions. Blacklist it for PowerPC SPE since it doesn't even build. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: drop redundant arch dependsGustavo Zacarias2014-06-011-7/+0
| | | | | | | | | | These are already in toolchain/toolchain-buildroot/Config.in and since package/glibc/Config.in is filtered by BR2_TOOLCHAIN_USES_GLIBC there's no need to duplicate this. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* powerpc: add powerpc64 and powerpc64le supportCody P Schafer2014-05-261-5/+6
| | | | | | | | | | This enables powerpc64 and powerpc64le. Currently, le needs at least glibc 2.19 and gcc 4.9.0. For gdb, 7.7.1 works (added in an earlier patch). [Peter: also disallow gcc 4.8 for ppc64le] Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Add support for powerpc64leJeff Bailey2014-05-251-5/+6
| | | | | | | | | | | This patch adds support for powerpc64le-linux-gnu. This includes needed patches to fakeroot and gmp. gmp patch is from upstream HG tree. fakeroot patch is from Ubuntu written by Adam Conrad. Signed-off-by: Jeff Bailey <jeffbailey@google.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* upstream glibc 2.18/2.19 works fine with microblazeWaldemar Brodkorb2014-04-282-13/+1
| | | | | | | | | There is no need for Xilinx Git. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: add support for top-level parallel makeFabio Porcedda2014-02-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | To be able to use top-level parallel make we must not depend in a rule on the order of evaluation of the prerequisites, so instead of relying on the left to right ordering of evaluation of the prerequisites add an explicit rule to describe the dependencies. We cannot use the pattern rules because they must have the same dependency for every package, but we need to change the dependencies depending on $(2)_OVERRIDE_SRCDIR variable value, so we must use a more flexible way like $(2)_TARGET_% variables. So add explicit dependencies for the following stamp files: $(2)_TARGET_EXTRACT $(2)_TARGET_PATCH $(2)_TARGET_CONFIGURE $(2)_TARGET_BUILD $(2)_TARGET_INSTALL_STAGING $(2)_TARGET_INSTALL_TARGET $(2)_TARGET_INSTALL_IMAGES $(2)_TARGET_INSTALL_HOST Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: add toolchain dependency to every target packageFabio Porcedda2014-02-141-0/+3
| | | | | | | | | | | | | | | | | | | | | This commit makes the dependency from the target toolchain explicit. This way we can buid from command line a package that use inner-generic-package right after the configuration phase, example: make clean <package-name> Also remove TARGETS_ALL because the only purpose was to add toolchain dependency so it's superseded by this commit. To prevent circular dependency add the new variable <pkgname>_ADD_TOOLCHAIN_DEPENDENCY to avoid adding the toolchain dependency for toolchain packages. This is also a step forward supporting top-level parallel make. Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: add 2.19 as a supported versionThomas Petazzoni2014-02-132-1/+22
| | | | | | | | | | | | | | | glibc 2.19 has been released recently (https://sourceware.org/ml/libc-alpha/2014-02/msg00224.html). This commit allows to build a toolchain with this new version. In order to allow this, we add a version selection that did not exist for glibc. We default to 2.18, which was the only supported version until now, and add an option for 2.19. For microblaze, which uses a specific glibc version, the version selection choice is not displayed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: add microblaze internal toolchainSpenser Gilliland2013-12-061-0/+12
| | | | | | Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: Backport upstream patch to accept make-4.0 or newerMarkos Chandras2013-12-062-0/+66
| | | | | | | | | Upstream patch (28d708c44bc47b56f6551ff285f78edcf61c208a) added support for make-4.0 or newer. We backport this patch to allow glibc to build on hosts running the latest version of 'make'. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* eglibc: bump to version 2.18 SVN R23787Gustavo Zacarias2013-12-022-36/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* eglibc: add security patch for CVE-2013-4788Gustavo Zacarias2013-11-281-0/+35
| | | | | | | | http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4788 http://hmarco.org/bugs/CVE-2013-4788.html Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc, toolchain-external: copy libthread_db when gdb is enabledThomas Petazzoni2013-10-301-1/+1
| | | | | | | | | | | | As Samuel Martin noticed, libthread_db is not only needed when cross-gdb+gdbserver is used, but also when the native gdb is used on the target. As a consequence, this patch modifies the glibc package and the external toolchain logic to ensure that libthread_db is copied to the target either when the native gdb or gdbserver is enabled, by relying on the BR2_PACKAGE_GDB option, which is enabled when native gdb and/or gdbserver are enabled. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: modify the wildcard logic for shared libraries copyingThomas Petazzoni2013-10-091-4/+4
| | | | | | | | | | | | | | | | | Until now, the copy_toolchain_lib_root function took as argument the base name of a library (e.g: libm.so), and was assuming that the usual scheme libm.so.<x> being a symbolic link to the real library was used. However, with musl based toolchains, the C library is named libc.so directly, with no symbolic link at all. Therefore, this commit changes the copy_toolchain_lib_root to move the responsibility of using a wildcard or not after the library name the caller's responsibility. So, all the existing LIB_EXTERNAL_LIBS values are modified to have a .* at the end, so that the behavior is effectively unchanged. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: fix glibc build by creating an empty gnu/stubs.hThomas Petazzoni2013-10-081-0/+12
| | | | | | | | | | The stubs.h header is not installed by install-headers, but is needed for the gcc build. An empty stubs.h will work, as explained in http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html. The same trick is used by Crosstool-NG. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: both eglibc and glibc need host-gawkThomas Petazzoni2013-10-081-6/+1
| | | | | | | | | Until now, only the eglibc build was pulling host-gawk as a dependency, but after more testing, it turns out that the glibc build also requires host-gawk. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Fix glibc dependency to gcc-intermediateJérôme Pouiller2013-10-061-1/+1
| | | | | | | | | | In commit ebc81933, we reverted 2babed4a, but meanwhile eglibc/ was renamed glibc/ so rules eglibc-build must be renamed glibc-build to correctly work. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Revert "toolchain-internal: skip gcc-intermediate when possible"Thomas Petazzoni2013-10-041-3/+2
| | | | | | | | | | | | | While the idea of skipping the intermediate gcc step seems to work fine in most situations, it causes problems with the SSP support. Until we can figure out a proper solution for this problem, we need to revert back to the previous solution of a three stages build. This reverts commit 2babed4a50fcd050abc4686e05e24d0e374d10a8. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* glibc: Pass correct -mabi for MIPSMarkos Chandras2013-10-011-0/+10
| | | | | | | | | | | According to glibc-2.18/ports/sysdeps/mips/preconfigure, if no -mabi was passed to CFLAGS, then it defaults to -mabi=n32. This breaks o32 and n64 builds for MIPS64. Therefore, it is necessary to append -mabi to CFLAGS. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add support for glibcThomas Petazzoni2013-09-151-0/+113
The support for eglibc 2.17 was added to the internal toolchain backend for 2013.08. This commit now adds glibc 2.18 support to the internal toolchain backend. Since the building procedure is very similar to the one of eglibc, we have renamed the 'eglibc' package to 'glibc', and made it capable of handling either glibc or eglibc. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenPOWER on IntegriCloud