Commit Graph

30 Commits

Author SHA1 Message Date
Florian Fainelli
c8e68150bf toolchain: Rework external toolchain libc selection
Make it a choice menu which offers the 3 C libraries we know about: glibc,
uClibc and musl. While at it, make it possible for the external toolchain libc
to select USE_GLIBC, USE_UCLIBC or USE_MUSL which is used by several packages
to conditionally include specific CFLAGS (e.g: iproute2).

Because USE_GLIBC et al. can now be selected by external toolchains, we need to
restrict the per-libc menus to check on !EXTERNAL_TOOLCHAIN.

While at it, make musl the default C library for external toolchain to match
the internal toolchain.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-28 08:39:01 +02:00
Felix Fietkau
f29774bee3 glibc: re-enable parallel builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-30 12:12:34 +02:00
Felix Fietkau
4badb8a023 glibc: switch to 2.24 by default and remove old versions, fixes security issues
2.24 fixes the following CVEs compared to 2.23:
- CVE-2016-3075
- CVE-2016-3706
- CVE-2016-1234
- CVE-2016-4429
- CVE-2016-5417

CVEs fixed in 2.23:
- CVE-2015-8776
- CVE-2015-8777
- CVE-2015-8778
- CVE-2015-8779
- CVE-2014-9761
- CVE-2015-7547

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-30 12:12:34 +02:00
Dirk Neukirchen
bf604f3503 glibc: add 2.24
since eglibc is deprecated just use glibc as name

- fix build errors w. stack-protector (observed for x86_64):
libresolv_pic.a(gethnamaddr.os): In function `addrsort':
gethnamaddr.c:(.text+0x425): undefined reference to `__stack_chk_guard'

by additionally setting libc_cv_ssp_strong=no
like previously libc_cv_ssp=no was set

- fix compile errors on 2.24 x86 introduced by
upstream changesets "Optimize i386 syscall inlining"

errors are like:
- https://sourceware.org/ml/libc-alpha/2015-10/msg00745.html
and trying to fix with the whats suggested at:
https://patchwork.openembedded.org/patch/118909/
leads to other error:
gcc6: elf/librtld.os: In function `__mmap':
(.text+0x131a9): undefined reference to `__libc_do_syscall'
or:
gcc5: elf/dl-load.os
{standard input}: Assembler messages:
{standard input}:5129: Error: symbol `__x86.get_pc_thunk.cx' is already defined

instead of testing other flags/effects (-fno-omit-frame-pointer)
just use -O2 (like buildroot does) instead of -Os

boot+pings tested on:
qemu malta (le+be) (gcc5+bin2.25.1)
qemu aarch64 (gcc5+bin2.25.1)
qemu x86_64 (gcc6+bin2.26)
qemu x86 generic (gcc6+bin2.26)

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
2016-08-30 10:51:21 +02:00
Felix Fietkau
74c9b9cfeb toolchain: skip gcc/minimal for musl
No extra libc header build step is done, so no extra toolchain is needed
for preparing it.
This saves a significant amount of build time and disk space

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-07 15:13:40 +02:00
Felix Fietkau
64da662a88 toolchain/glibc: remove obsolete versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48780
2016-02-25 13:43:46 +00:00
Jo-Philipp Wich
5445a2ee1d toolchain: use latest glibc 2.21 and 2.22 revisions
Refresh patches and rework Makefile to fetch glibc from release branches
instead of relying on tarballs.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48735
2016-02-17 08:44:49 +00:00
Jo-Philipp Wich
83cdf72271 toolchain: mark eglibc 2.19 broken
Upstream is dead and the last available version has multiple open CVEs.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48734
2016-02-17 08:44:45 +00:00
Felix Fietkau
3e9d2a847b glibc: switch to downloading version 2.22 via tarball instead of git to improve mirror support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48556
2016-01-29 23:19:31 +00:00
Felix Fietkau
b26d52d980 glibc: switch to version 2.22 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48555
2016-01-29 23:19:26 +00:00
Felix Fietkau
1981ee7d75 toolchain: Reverse glibc/eglibc conditionals to check for eglibc
This will make adding future glibc versions easier because the
conditionals won't have to be modified again.

Signed-off-by: Michael Marley <michael@michaelmarley.com>

SVN-Revision: 48399
2016-01-20 19:12:01 +00:00
Felix Fietkau
f6e4badfe4 toolchain: Add glibc 2.22
Signed-off-by: Michael Marley <michael@michaelmarley.com>

SVN-Revision: 48383
2016-01-19 22:58:51 +00:00
John Crispin
b98c198883 toolchain: fix eglibc build when TOOLCHAINOPTS is not set
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45015
2015-03-26 10:59:04 +00:00
Felix Fietkau
2efb6be426 toolchain/glibc: remove broken eglibc 2.15 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44976
2015-03-25 14:29:23 +00:00
John Crispin
3e2f578353 toolchain: The glorious return of glibc, ver 2.21
It's the eglibc packaging with a bit of spit-polishing. And testing. :-)

[blogic: merged glibc and eglibc into 1 and made eglibc a glibc variant]

Signed-off-by: Jeff Waugh <jdub@bethesignal.org>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44701
2015-03-12 19:50:57 +00:00
Mirko Vogt
334fd4199b purge support for glibc - use eglibc instead!
for reference: http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg13425.html

SVN-Revision: 31503
2012-04-28 22:24:12 +00:00
Felix Fietkau
07488ef93d glibc: remove all previous (ancient) versions, add 2.14 (partially based on a patch and testing by WillieNL)
SVN-Revision: 30478
2012-02-12 16:12:01 +00:00
Mirko Vogt
74fecd0366 fix glibc to work with all versions of binutils, fixes #7133 - thanks to marek siller
SVN-Revision: 27210
2011-06-17 22:51:24 +00:00
Felix Fietkau
198730fb3d fix a compile error when compiling with glibc (#7816)
SVN-Revision: 22869
2010-09-01 15:21:43 +00:00
Felix Fietkau
62c1740676 toolchain: fix the sysroot mess by getting rid of $(TOOLCHAIN_DIR)/usr and moving it back to $(TOOLCHAIN_DIR), this change makes the toolchain relocatable again, which should fix the SDK
SVN-Revision: 22723
2010-08-19 12:49:51 +00:00
Florian Fainelli
f797b4293a add support for glibc-2.4 (#5213)
SVN-Revision: 16089
2009-05-26 14:58:32 +00:00
Florian Fainelli
3e0e015a0d define libc_cv_slibdir, fixes mips64 compilation (#5011)
SVN-Revision: 15526
2009-04-30 20:21:57 +00:00
Nicolas Thill
222f37cbde uClibc cleanup: - use full version string (0.9.30.1), instead of base (0.9.30) + extra (.1) - remove support for 0.9.28 and snapshots (building from SVN to be added later)
SVN-Revision: 15368
2009-04-24 02:07:24 +00:00
Felix Fietkau
56164a5815 add a modified version of the mips64 patch from #4603
SVN-Revision: 15249
2009-04-18 17:03:55 +00:00
Felix Fietkau
ec6b3bf2be fix stampfile variables for the toolchain build (fixes gcc compile error)
SVN-Revision: 14862
2009-03-13 12:50:23 +00:00
Nicolas Thill
8a2030ff3d move common variables to a dedicated include file
SVN-Revision: 14648
2009-02-23 23:52:27 +00:00
Felix Fietkau
7eb1589875 build system refactoring in preparation for allowing packages to do host-build steps
SVN-Revision: 14610
2009-02-22 04:37:20 +00:00
Nicolas Thill
33a0eb3613 cosmetic & coherency fixes
SVN-Revision: 14397
2009-02-03 21:25:48 +00:00
Nicolas Thill
ec7b663c86 add support for gcc v4.3.1 & v4.3.2 (closes: #3479), thanks to Luigi Mantellini!
SVN-Revision: 14131
2009-01-21 11:58:17 +00:00
Nicolas Thill
a3edea1b91 add support for alternative C libraries (currently only glibc/eglibc) other (related) changes: - kernel headers are now installed using "make headers_install" on 2.6 - target names now contain an openwrt "vendor" tag (e.g. mips-openwrt-linux-gnu) - build directory names now contain gcc/libc name/version - default cpu for x86 is now i486 (required to build glibc/eglibc)
SVN-Revision: 13931
2009-01-08 01:49:11 +00:00