Commit Graph

323 Commits (master)

Author SHA1 Message Date
Felix Fietkau 64d672d985 uClibc: elf: Add STT_GNU_IFUNC from glibc
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45752 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-25 22:59:04 +00:00
John Crispin 4e7c302ea2 uClibc: add signal info for seccomp related SIGSYS
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45720 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:26:19 +00:00
Nicolas Thill 1243352b6b uClibc: backport sync_file_range fixes (closes: #19350)
Signed-off-by: Nicolas Thill <nico@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45249 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-02 23:21:30 +00:00
Felix Fietkau c7670810ce uclibc: backport an upstream i386 syscall fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45137 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-29 10:43:07 +00:00
Felix Fietkau 7dae4a2150 uClibc: add another missing backport patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45102 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-29 04:26:42 +00:00
Felix Fietkau 092c6f96ca toolchain/uClibc: backport madvise and fallocate (fixes #19336)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45100 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-29 02:16:13 +00:00
John Crispin 7238d37498 uclibc: add LD_PRELOAD support
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-26 10:57:44 +00:00
Felix Fietkau 67829ffd18 toolchain: remove obsolete references to the cris architecture
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44964 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-24 10:07:31 +00:00
Felix Fietkau 8312ae2c53 uClibc: remove avr32 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44961 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-24 10:07:07 +00:00
John Crispin b585a81ca1 uClibc: fix syscall() for syscalls with 6 arguments on PowerPC
Patch from the uClibc master.

Fixes the package fastd on PowerPC.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44694 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-12 10:07:01 +00:00
John Crispin f7d8dc3702 Support for building an hardened OpenWRT
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44005 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-17 14:31:30 +00:00
Felix Fietkau 8e942a882f uClibc: fix ptrace header files for powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43617 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-11 14:38:50 +00:00
Felix Fietkau 7473409bfd toolchain: uClibc: fix compile with full language support enabled (fixes #13095)
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-30 22:22:24 +00:00
Felix Fietkau 905a453027 toolchain: uClibc: fix build with CONFIG_BUILD_NLS selected
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-30 22:22:14 +00:00
John Crispin 6da54cd595 uClibc: Backport uClibc master git commit 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42916 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-14 12:57:39 +00:00
Felix Fietkau 70569fa142 uClibc: fix copy&pasted typo in the stat fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-10 20:14:58 +00:00
Felix Fietkau a228462671 uClibc: add a whole bunch of mips64 related fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41570 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-10 19:28:45 +00:00
Felix Fietkau 26e7691555 uClibc: add a patch to reduce vasprintf allocation size (fixes #13024)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40774 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-05-17 17:36:08 +00:00
Luka Perkov 5c0cf7ea4c uClibc: backport mount.h update
Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-24 00:19:33 +00:00
Felix Fietkau 67918d0abc uClibc: Fix lookup with DNS search in multi-threaded application.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39179 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-28 15:06:14 +00:00
Felix Fietkau 85b4900b0d uClibc: make res_init() thread safe
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39178 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-28 15:06:04 +00:00
Felix Fietkau 535ac95612 uClibc: Fix threaded use of res_ functions.
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39177 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-28 15:05:56 +00:00
Felix Fietkau a4fcc05059 uClibc: disable sha256 and sha512 for libcrypt - saves about 13k uncompressed in libcrypt
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39105 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 18:49:10 +00:00
Imre Kaloz c01716afd0 [toolchain/uClibc]: replace the mips64 fixes patch with an upstream commit
The current one broke all other 64 bit targets.. DOH!

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38889 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-22 09:22:54 +00:00
Felix Fietkau 66913cd020 uClibc: Deactivate oversized thread stack cache
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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38851 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-18 13:32:06 +00:00
Felix Fietkau a7dc820bf8 uClibc: get rid of bogus unused strlcpy definition to fix build errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38567 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-28 15:15:35 +00:00
Steven Barth 3a948c0b93 uClibc: fix scoped-IPv6-addresses in getnameinfo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38261 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-30 08:41:00 +00:00
Florian Fainelli 347064eb81 toolchain: refresh uClibc patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37939 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-11 12:08:37 +00:00
Felix Fietkau 64584aa1fc build: decouple the mips16 support flag from the toolchain
Add the flags from package.mk instead, and leave libc and gcc
unaffected.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37770 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-14 13:02:29 +00:00
Felix Fietkau e8460b617e uClibc: build with debug symbols by default (without changing other compile related flags)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37525 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-24 12:38:09 +00:00
Felix Fietkau 5fca070da8 uClibc: use position independent code for crt1, slightly reduces size of all executables
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37096 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-30 07:54:51 +00:00
Felix Fietkau 6add3f9184 toolchain: get rid of uclibc version kconfig symbol overloading
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36356 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-18 12:04:48 +00:00
Felix Fietkau 2810bbb09a uClibc: unbreak ld-uClibc on non-64bit platforms
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36239 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-07 10:11:38 +00:00
Florian Fainelli ecc844af73 toolchain/uClibc: backport a MIPS64 fix from openadk
Fixes uClibc dynamic loader name requested by executables when
targetting MIPS64 n64

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36208 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:37 +00:00
Florian Fainelli c6f7a359ec toolchain/uClibc: handle different MIPS64 ABIs
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36207 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:31 +00:00
Florian Fainelli 175a119a6a toolchain/uClibc: Disable mips16 for uClibc for now
For now, build uclibc without -mips16. There's no mips16 syscall
support AFAIK and uclibc uses inline assembly syscalls a lot.

In addition, touching errno means touching a TLS model symbol, and
that's not supported in gcc 4.6.

The __set_errno macro can be put back to calling
errno_location(). This allows much of the library to be built in
mips16 mode. I don't understand the implications to the thread library
of doing this.

A list of "build as -mno-mips16" C source files can be placed in the
mips architecture-dependent build files. Maintaining the list would be
no fun.

Signed-off-by: Jay Carlson <nop@nop.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36199 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:00 +00:00
Jonas Gorski e9e1a9b595 toolchain: uclibc: fix typo in uclibc common config
Based on a patch from Oliver Metz.

Closes #10735.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35709 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-21 11:45:07 +00:00
Florian Fainelli edb46bb434 [toolchain] remove support for ubicom32
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34432 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-30 10:53:55 +00:00
Imre Kaloz 43d2eb64cc [generic]: add 3.7-rc6 support (patch 820 still has to be fixed)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34247 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-18 18:52:38 +00:00
Florian Fainelli 2b4803f28c [toolchain] uClibc: backport a fix for dlsym(RTLD_NEXT, ...) use
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34142 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-11 16:10:50 +00:00
Felix Fietkau c1aff23c3e build: remove remaining references to TOOLCHAIN_JOBS (thx, Sedat Dilek)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34122 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-08 15:08:31 +00:00
Felix Fietkau 2ac0287fde uClibc: backport support for assignment-allocation character %m in sscanf
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-29 19:25:38 +00:00
Felix Fietkau 4edf87e3e4 toolchain: enable pthread debug support in uclibc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33996 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-29 19:25:16 +00:00
Felix Fietkau 9afeebbea7 toolchain: enable parallel build for uClibc, remove the obsolete TOOLCHAIN_PARALLEL config symbol
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33807 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-17 13:03:08 +00:00
Florian Fainelli 5793f27be6 [toolchain] uClibc: fix uClibc implementation of eventfd
uClibc declares eventfd() as taking two arguments but doesn't properly
pass the second argument to the kernel.

The problem is discussed at:
http://lists.uclibc.org/pipermail/uclibc/2012-May/046873.html

This patch is taken from uclibc 0.9.33 git, so will presumably
be integrated in any future releases.

Signed-off-by: Andy Leiserson <andy@leiserson.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33478 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-19 15:13:48 +00:00
Felix Fietkau f402383bf3 uClibc: add -Wno-unused-but-set-variable to get rid of unnecessary warning logspam
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32558 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-30 21:44:09 +00:00
Felix Fietkau 87cb557dcb uClibc: split the package into the main directory and the headers/ and utils/ subdirectories to clean up build order and fix quilt support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32557 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-30 21:44:05 +00:00
Felix Fietkau dfa9eeadb6 toolchain/uClibc: fix getting the nameserver from _res state after res_init. fixes displaying the nameserver in busybox nslookup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32555 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-30 18:12:23 +00:00
Felix Fietkau 488f47237e toolchain: keep the initial gcc around for later uclibc rebuilds
testing uclibc changes is tricky because the final gcc tends to miscompile
uclibc code or barf up internal compiler errors.
install binutils into $(TOOLCHAIN_DIR)/initial (without changing the configure
prefix) and copy it from there to $(TOOLCHAIN_DIR)/ so that the initial gcc
can be put into $(PATH) for the uclibc build, even if the final gcc
is already installed.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32553 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-30 18:12:15 +00:00
Felix Fietkau 676f124d95 uClibc: update to 0.9.33.2, fixes #4420
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31740 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-15 13:42:32 +00:00