summaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: Rework external toolchain libc selectionFlorian Fainelli2016-09-281-1/+1
| | | | | | | | | | | | | | | | 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>
* config: enable shadow passwords unconditionallyMatthias Schiffer2016-09-261-1/+0
| | | | | | | | | | | | | Configurations without shadow passwords have been broken since the removal of telnet: as the default entry in /etc/passwd is not empty (but rather unset), there will be no way to log onto such a system by default. As disabling shadow passwords is not useful anyways, remove this configuration option. The config symbol is kept (for a while), as packages from feeds depend on it. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* toolchain/uClibc: add missing config symbolStijn Tintel2016-08-151-0/+1
| | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* toolchain: skip gcc/minimal for muslFelix Fietkau2016-07-071-0/+1
| | | | | | | | 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>
* toolchain: uClibc: Bump to the most recent version 1.0.14Alexey Brodkin2016-05-272-2/+2
| | | | | | This change updates uClibc version to the most recent 1.0.14 release. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNALHauke Mehrtens2016-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required to build net-snmp. If that options is disabled in uClibc then net-snmp doesn't detect sighold support on its configuration stage and so defines HAVE_SIGHOLD as 0. That in its turn causes compilation of the following branch of timerPause() in apps/snmpnetstat: ------------------>8---------------- int oldmask; oldmask = sigblock(sigmask(SIGALRM)); if (!signalled) { sigpause(0); } sigsetmask(oldmask); ------------------>8---------------- Now in uClibc all 3 sigblock(), sigmask() and sigsetmask() were removed back in 2005, see: https://git.busybox.net/uClibc/commit/?id=5aa7aa7fa7ec2a0fe567ac0b2595b46add6f3594 And all that causes net-snmp linkage to fail this way: ------------------>8---------------- .libs/if.o: In function `intpr': if.c:(.text+0x908): undefined reference to `sigmask' if.c:(.text+0x90e): undefined reference to `sigblock' if.c:(.text+0x924): undefined reference to `sigsetmask' ------------------>8---------------- If we enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL in uClibc then branch with sighold is used in timerPause() and everything builds as expected. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 49178
* toolchain: add support of ARCv2 architectureJohn Crispin2016-02-182-1/+12
| | | | | | | | | | | | | | | | | | | | This change adds support of ARC ISAv2 processors in OpenWRT toolchain. In general gcc for ARC may compile code for both ISA versions simultaneously but libgcc will be built only for default architecture that's why it's necessary to specify --with-cpu on gcc configuration. As for uClibc we need to use different configurations for different ARC ISAs. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Felix Fietkau <nbd@openwrt.org> Cc: Jo-Philipp Wich <jow@openwrt.org> Cc: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 48739
* uClibc-ng: update to 1.0.9Felix Fietkau2015-12-032-3/+3
| | | | | | | | Update to 1.0.9, switch to XZ tarball. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> SVN-Revision: 47715
* toolchain: add support of ARC architectureFelix Fietkau2015-11-102-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes binutils, gcc, gdb and uClibc-ng. Latest release of ARC gcc (as of today it is "arc-2015.06") is based on upstream gcc 4.8.4. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc Latest release of ARC binutils (as of today it is "arc-2015.06") is based on upstream binutils 2.23. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06 Latest release of ARC GDB (as of today this is "arc-2015.06-gdb") is based on upstream gdb 7.9.1. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb Note that for binutils and gdb that come from unified git repository (which is the case for upstream binutils/gdb today) we need to disable building of gdb in binutils and binutils in gdb hence in binutils: ------>8------ --disable-sim --disable-gdb ------>8------ and in gdb: ------>8------ --disable-binutils --disable-ld --disable-gas ------>8------ Also in gdb we disable sim because if the following breakage while building with it: ------------>8------------ /usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \ -mono -fast -pbb -switch sem5-switch.c \ -cpu a5f -infile ./mloop5.in \ -outfile-suffix 5 unknown option: bash Makefile:699: recipe for target 'stamp-5mloop' failed make[7]: *** [stamp-5mloop] Error 1 ------------>8------------ Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Crispin <blogic@openwrt.org> Cc: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> SVN-Revision: 47438
* uclibc: remove version 0.9.33Felix Fietkau2015-11-0299-4580/+6
| | | | | | | | Latest uClibc-ng is now the only supported option Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47357
* uclibc-ng: bump version from 1.0.6 to 1.0.8Felix Fietkau2015-11-0224-1/+3
| | | | | | | | | | | | | | | | | | | | 2 new architectures were added in between 1.0.6 and 1.0.8 in uClibc-ng, these are: * lm32 * or1k Even thought both are not yet supported in OpenWRT it's important to disable them both in default config file otherwise user prompt will appear during uClibc configuration asking to select desired architecture. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Waldemar Brodkorb <wbx@uclibc-ng.org> Cc: Mathieu Olivari <mathieu@codeaurora.org> Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Crispin <blogic@openwrt.org> SVN-Revision: 47356
* uClibc: enable xattr support to make feature sets of libc implementations ↵John Crispin2015-10-262-2/+2
| | | | | | | | | | closer to each other Size increase is about 3-4k: this is how big xattr.os in uClibc after stripping is. Signed-off-by: Maxim Storchak <m.storchak@gmail.com> SVN-Revision: 47271
* toolchain/uClibc: add support of uClibc-ngFelix Fietkau2015-10-0126-3/+553
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uClibc-ng is a spin-off of original uClibc, see http://www.uclibc-ng.org/ We try to regularly add changes from uClibc to uClibc-ng. We even sent patches and bug reports to the uClibc mailing list. The config file is compatible between uClibc-ng 1.0 and uClibc git master. This might change in the future. Our main goal is to provide regularly a stable and tested release to make embedded system developers happy. The main advantage of uClibc-ng over olde good uClibc is regular releases so there's no need to keep tons of patches on top of years old 0.9.33.2 Build-tested for [1] ARM: Sunxi generic [2] MIPS: Netgear WNDR3600/3700/3800 Run-tested for [yet out of the tree] Synopsys Designware ARC AXS101. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Waldemar Brodkorb <wbx@uclibc-ng.org> Cc: Mathieu Olivari <mathieu@codeaurora.org> Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Crispin <blogic@openwrt.org> SVN-Revision: 47077
* uclibc: fix _HAS_SSP replacement regexJonas Gorski2015-06-231-1/+1
| | | | | | | | A dot was dropped, making it match too much. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46116
* uclibc: unbreak after enabling SSPSteven Barth2015-06-182-1/+2
| | | | | | Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 46034
* uClibc: elf: Add STT_GNU_IFUNC from glibcFelix Fietkau2015-05-251-0/+37
| | | | | | | | | | | | perf in upstream Linux kernel 3.17 onwards expects STT_GNU_IFUNC replicate it from glibc Patch cherry-picked from: http://lists.busybox.net/pipermail/uclibc/2015-February/048825.html Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> SVN-Revision: 45752
* uClibc: add signal info for seccomp related SIGSYSJohn Crispin2015-05-231-0/+145
| | | | | | | | | | | | | | uClibc doesn't define signal info for the SIGSYS signal which is issued in case of hitting a syscall prohibited by seccomp. This is sad as it makes debugging seccomp filter policies impossible on some architectures (at least ARM and PowerPC, maybe also others) which do not coincidentally set si_value.sival_int as the syscall number. To fix this, import the definitions and macros needed from glibc. Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 45720
* uClibc: backport sync_file_range fixes (closes: #19350)Nicolas Thill2015-04-021-0/+57
| | | | | | Signed-off-by: Nicolas Thill <nico@openwrt.org> SVN-Revision: 45249
* uclibc: backport an upstream i386 syscall fixFelix Fietkau2015-03-291-0/+25
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45137
* uClibc: add another missing backport patchFelix Fietkau2015-03-294-0/+28
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45102
* toolchain/uClibc: backport madvise and fallocate (fixes #19336)Felix Fietkau2015-03-299-40/+811
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45100
* uclibc: add LD_PRELOAD supportJohn Crispin2015-03-261-1/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 45004
* toolchain: remove obsolete references to the cris architectureFelix Fietkau2015-03-242-9/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44964
* uClibc: remove avr32 supportFelix Fietkau2015-03-243-23/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44961
* uClibc: fix syscall() for syscalls with 6 arguments on PowerPCJohn Crispin2015-03-121-0/+10
| | | | | | | | | | Patch from the uClibc master. Fixes the package fastd on PowerPC. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 44694
* Support for building an hardened OpenWRTJohn Crispin2015-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce configuration options to build an "hardened" OpenWRT. Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO have been introduced. uClibc makefile now automatically detects if SSP support is necessary. hostapd makefile has been fixed to use "^" as sed separator since using a comma was problematic when using "-Wl,-z,now" and the like in TARGET_CFLAGS. Currently enabling SSP on user space depends on enabling SSP kernel side, this is due to the fact that TARGET_CFLAGS are used to build kernel modules (at least). Suggestions on how to avoid this are welcome. Using "select" instead of "depends on" doesn't seem to work with choice entries. Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of the available packages. Needs to be tested with GCC 4.9 and the remaining packages. PIE not currently included. Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me> SVN-Revision: 44005
* uClibc: fix ptrace header files for powerpcFelix Fietkau2014-12-111-0/+96
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43617
* toolchain: uClibc: fix compile with full language support enabled (fixes #13095)Felix Fietkau2014-11-301-0/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with CONFIG_BUILD_NLS=y, uClibc fails to compile with following message (or similar, according to https://dev.openwrt.org/ticket/13095): -snip- ... Warning: adding UNDEFINED entry for ar_AE Warning: adding UNDEFINED entry for am_ET Warning: adding UNDEFINED entry for af_ZA grep "^#define" extra/locale/locale_tables.h > extra/locale/lt_defines.h grep "^#define __lc" extra/locale/locale_collate.h >> extra/locale/lt_defines.h gcc extra/locale/gen_wctype.c -o extra/locale/gen_wctype -Os -Wall -D__UCLIBC_GEN_LOCALE -I./ extra/locale/gen_wctype.c: In function 'main': extra/locale/gen_wctype.c:684:2: warning: #warning fix the upper bound on the upper/lower tables... save 200 bytes or so [-Wcpp] for locale in en_US en_GB; do \ extra/locale/gen_wctype $locale > extra/locale/wctables.h || \ extra/locale/gen_wctype $locale.UTF-8 > extra/locale/wctables.h || \ extra/locale/gen_wctype $locale.iso8859-1 > extra/locale/wctables.h && break; \ done make[4]: *** [extra/locale/wctables.h] Error 1 -snap- This seems to also depend on the host system used, e.g. running a fresh checkout on a Debian 7.6 system triggered this error, while running the very same stuff on an Ubuntu 12.10 Quantal Quetzal does not trigger it. This is the configuration I used: -snip- buildbot@buildbot:~/openwrt-nls.git$ scripts/diffconfig.sh CONFIG_TARGET_ar71xx=y CONFIG_TARGET_ar71xx_generic=y CONFIG_TARGET_ar71xx_generic_Default=y CONFIG_DEVEL=y CONFIG_BUILD_NLS=y CONFIG_DOWNLOAD_FOLDER="/srv/downloads/downloads" -snap- In the ticket mentioned above, a patch is referenced which solves this issue. Note, that this issue is also present on 14.07. Signed-off-by: Michael Heimpold <mhei@heimpold.de> SVN-Revision: 43446
* toolchain: uClibc: fix build with CONFIG_BUILD_NLS selectedFelix Fietkau2014-11-302-0/+4
| | | | | | | | | | | | | | | | | Without this patch, selecting "Compile with full language support" results in the following question during build: ... Locale Support (UCLIBC_HAS_LOCALE) [Y/n/?] y Locale data > 1. All locales (UCLIBC_BUILD_ALL_LOCALE) (NEW) 2. Only selected locales (UCLIBC_BUILD_MINIMAL_LOCALE) (NEW) 3. Use Pre-generated Locale Data (UCLIBC_PREGENERATED_LOCALE_DATA) (NEW) choice[1-3]: Signed-off-by: Michael Heimpold <mhei@heimpold.de> SVN-Revision: 43445
* uClibc: Backport uClibc master git commit ↵John Crispin2014-10-141-0/+269
| | | | | | | | | | | fd355bc1dbcb794ae1abf0fad1459e28d8567ba0 (eventfd.h: Use new "bits/" scheme for arch-specific flags) This patch adds missing architecture-specific headers for use with eventfd(2). Fixes #16679. Signed-off-by: Luis Dallos <ld@nkvd.ignorelist.com> SVN-Revision: 42916
* uClibc: fix copy&pasted typo in the stat fixFelix Fietkau2014-07-101-9/+9
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41573
* uClibc: add a whole bunch of mips64 related fixesFelix Fietkau2014-07-1012-10/+1004
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41570
* uClibc: add a patch to reduce vasprintf allocation size (fixes #13024)Felix Fietkau2014-05-171-0/+37
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40774
* uClibc: backport mount.h updateLuka Perkov2014-03-241-0/+91
| | | | | | Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 40009
* uClibc: Fix lookup with DNS search in multi-threaded application.Felix Fietkau2013-12-281-0/+12
| | | | | | Signed-off-by: Jiri Slachta <slachta@cesnet.cz> SVN-Revision: 39179
* uClibc: make res_init() thread safeFelix Fietkau2013-12-281-0/+55
| | | | | | Signed-off-by: Jiri Slachta <slachta@cesnet.cz> SVN-Revision: 39178
* uClibc: Fix threaded use of res_ functions.Felix Fietkau2013-12-281-0/+126
| | | | | | | | | | | | This patch moves res_init() back above #undef _res. It fixes dns resolving issue in OpenWrt (uClibc related - OpenWrt ticket #11929). It is a backport from uClibc master. Further details are there: http://git.uclibc.org/uClibc/commit/libc/inet/resolv.c?id=20b69920b299585265eb100d0b67e1097ccb1092 Signed-off-by: Jiri Slachta <slachta@cesnet.cz> SVN-Revision: 39177
* uClibc: disable sha256 and sha512 for libcrypt - saves about 13k ↵Felix Fietkau2013-12-161-2/+2
| | | | | | | | uncompressed in libcrypt Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39105
* replace the mips64 fixes patch with an upstream commitImre Kaloz2013-11-222-14/+75
| | | | | | | | The current one broke all other 64 bit targets.. DOH! Signed-off-by: Imre Kaloz <kaloz@openwrt.org> SVN-Revision: 38889
* uClibc: Deactivate oversized thread stack cacheFelix Fietkau2013-11-181-0/+11
| | | | | | | | | | | | | A small system like the common home router doesn't have 40 MiB per process for a dirty stack cache. This can easily lead to an overbooking OOM problem and caused a lot of hangs+reboots on 32 MiB systems running nodogsplash. Not using a stack cache can increase the time to spawn new threads. This is hopefully no problem for system not running a lot of parallel computations. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> SVN-Revision: 38851
* uClibc: get rid of bogus unused strlcpy definition to fix build errorsFelix Fietkau2013-10-281-0/+11
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 38567
* uClibc: fix scoped-IPv6-addresses in getnameinfoSteven Barth2013-09-301-0/+26
| | | | SVN-Revision: 38261
* toolchain: refresh uClibc patchesFlorian Fainelli2013-09-116-78/+23
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 37939
* build: decouple the mips16 support flag from the toolchainFelix Fietkau2013-08-141-2/+0
| | | | | | | | | Add the flags from package.mk instead, and leave libc and gcc unaffected. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37770
* uClibc: build with debug symbols by default (without changing other compile ↵Felix Fietkau2013-07-241-1/+1
| | | | | | | | related flags) Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37525
* uClibc: use position independent code for crt1, slightly reduces size of all ↵Felix Fietkau2013-06-301-0/+11
| | | | | | | | executables Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37096
* toolchain: get rid of uclibc version kconfig symbol overloadingFelix Fietkau2013-04-182-10/+6
| | | | SVN-Revision: 36356
* uClibc: unbreak ld-uClibc on non-64bit platformsFelix Fietkau2013-04-071-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36239
* toolchain/uClibc: backport a MIPS64 fix from openadkFlorian Fainelli2013-04-051-0/+25
| | | | | | | | | Fixes uClibc dynamic loader name requested by executables when targetting MIPS64 n64 Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 36208
* toolchain/uClibc: handle different MIPS64 ABIsFlorian Fainelli2013-04-057-1/+110
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 36207