Commit Graph

293 Commits (05d73a2a73794f8a978300eac75e25deae6d0626)

Author SHA1 Message Date
John Crispin 7b821a5ae8 toolchain: add support of ARCv2 architecture
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
8 years ago
Felix Fietkau e4d186b109 uClibc-ng: update to 1.0.9
Update to 1.0.9, switch to XZ tarball.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>

SVN-Revision: 47715
9 years ago
Felix Fietkau 8b5d644bb3 toolchain: add support of ARC architecture
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
9 years ago
Felix Fietkau 014194de60 uclibc: remove version 0.9.33
Latest uClibc-ng is now the only supported option

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

SVN-Revision: 47357
9 years ago
Felix Fietkau 02df774b52 uclibc-ng: bump version from 1.0.6 to 1.0.8
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
9 years ago
John Crispin b49cbdff6e uClibc: enable xattr support to make feature sets of libc implementations 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
9 years ago
Felix Fietkau 57a70e8a64 toolchain/uClibc: add support of uClibc-ng
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
9 years ago
Jonas Gorski 2086f7284c uclibc: fix _HAS_SSP replacement regex
A dot was dropped, making it match too much.

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

SVN-Revision: 46116
9 years ago
Steven Barth 2fb09857e1 uclibc: unbreak after enabling SSP
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46034
9 years ago
Felix Fietkau f0150c65d0 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>

SVN-Revision: 45752
9 years ago
John Crispin 6ab2bcfe72 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>

SVN-Revision: 45720
9 years ago
Nicolas Thill 6a5a7db085 uClibc: backport sync_file_range fixes (closes: #19350)
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 45249
9 years ago
Felix Fietkau 4ecc5c8ffe uclibc: backport an upstream i386 syscall fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45137
9 years ago
Felix Fietkau b97c3b0249 uClibc: add another missing backport patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45102
9 years ago
Felix Fietkau 19150d393d toolchain/uClibc: backport madvise and fallocate (fixes #19336)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45100
9 years ago
John Crispin 384eb8ce7d uclibc: add LD_PRELOAD support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45004
9 years ago
Felix Fietkau 793a451584 toolchain: remove obsolete references to the cris architecture
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44964
9 years ago
Felix Fietkau 3a52795531 uClibc: remove avr32 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44961
9 years ago
John Crispin 0e6ecf707d 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>

SVN-Revision: 44694
9 years ago
John Crispin 491f3fc048 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>

SVN-Revision: 44005
9 years ago
Felix Fietkau b2bdea8ad4 uClibc: fix ptrace header files for powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43617
10 years ago
Felix Fietkau 309cdd6101 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>

SVN-Revision: 43446
10 years ago
Felix Fietkau 3f130f7a45 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>

SVN-Revision: 43445
10 years ago
John Crispin 70be73e153 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>

SVN-Revision: 42916
10 years ago
Felix Fietkau 7a324ed4c1 uClibc: fix copy&pasted typo in the stat fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41573
10 years ago
Felix Fietkau ded4c0675d uClibc: add a whole bunch of mips64 related fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41570
10 years ago
Felix Fietkau 171211c29f uClibc: add a patch to reduce vasprintf allocation size (fixes #13024)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40774
10 years ago
Luka Perkov deec514607 uClibc: backport mount.h update
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 40009
10 years ago
Felix Fietkau 8bd7e0b19b uClibc: Fix lookup with DNS search in multi-threaded application.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>

SVN-Revision: 39179
11 years ago
Felix Fietkau c4b013f00b uClibc: make res_init() thread safe
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>

SVN-Revision: 39178
11 years ago
Felix Fietkau 8cabffaa3b 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>

SVN-Revision: 39177
11 years ago
Felix Fietkau cc304329b3 uClibc: disable sha256 and sha512 for libcrypt - saves about 13k uncompressed in libcrypt
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39105
11 years ago
Imre Kaloz 61ad6831d3 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>

SVN-Revision: 38889
11 years ago
Felix Fietkau edc8ac6246 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>

SVN-Revision: 38851
11 years ago
Felix Fietkau 3f6a5c862b uClibc: get rid of bogus unused strlcpy definition to fix build errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38567
11 years ago
Steven Barth 4a4c2fe74c uClibc: fix scoped-IPv6-addresses in getnameinfo
SVN-Revision: 38261
11 years ago
Florian Fainelli 73dcf0dc2e toolchain: refresh uClibc patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37939
11 years ago
Felix Fietkau a1a5f59ea3 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>

SVN-Revision: 37770
11 years ago
Felix Fietkau 82e51044d8 uClibc: build with debug symbols by default (without changing other compile related flags)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37525
11 years ago
Felix Fietkau 02a6750af8 uClibc: use position independent code for crt1, slightly reduces size of all executables
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37096
11 years ago
Felix Fietkau 4aa6663599 toolchain: get rid of uclibc version kconfig symbol overloading
SVN-Revision: 36356
11 years ago
Felix Fietkau 46072644e5 uClibc: unbreak ld-uClibc on non-64bit platforms
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36239
11 years ago
Florian Fainelli f4c09ea554 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>

SVN-Revision: 36208
11 years ago
Florian Fainelli 463b80c3d1 toolchain/uClibc: handle different MIPS64 ABIs
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36207
11 years ago
Florian Fainelli 750115a65c 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>

SVN-Revision: 36199
11 years ago
Jonas Gorski 55f65c5c1d 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>

SVN-Revision: 35709
11 years ago
Florian Fainelli 4801705d83 remove support for ubicom32
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34432
12 years ago
Imre Kaloz 935ca3f3eb add 3.7-rc6 support (patch 820 still has to be fixed)
SVN-Revision: 34247
12 years ago
Florian Fainelli 76553002d9 uClibc: backport a fix for dlsym(RTLD_NEXT, ...) use
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34142
12 years ago
Felix Fietkau 291d24c3cc build: remove remaining references to TOOLCHAIN_JOBS (thx, Sedat Dilek)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 34122
12 years ago