Commit Graph

1351 Commits

Author SHA1 Message Date
Felix Fietkau 981be0c3bd toolchain/musl: update to version 1.1.18
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-09 12:35:31 +01:00
Felix Fietkau 7e2c271a80 gcc: remove support for libgcj/java
It has been removed in gcc 7

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-02 15:58:45 +01:00
Karl Vogel 76378c6b9f build: use KERNEL_MAKE_FLAGS for kernel file compilations
The build system already defines KERNEL_CROSS which defaults to TARGET_CROSS.
Make use of this variable for kernel makefiles.

Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
2017-10-29 16:17:05 +01:00
Florian Larysch 0de93311e1 toolchain: use glibc for powerpc64 builds
Neither uClibc nor musl currently have working support for powerpc64 in
big endian mode. Thus, default to using glibc for this architecture.

Signed-off-by: Florian Larysch <fl@n621.de>
2017-10-24 13:24:04 +02:00
Florian Larysch 9e91d32718 toolchain: remove powerpc64 feature
The powerpc64 feature flag was introduced with the PS3 support, which
has been removed for quite a while and is now unused. Remove it and the
special biarch handling it triggered during the toolchain build.

Signed-off-by: Florian Larysch <fl@n621.de>
2017-10-24 13:24:04 +02:00
Hauke Mehrtens aba071d818 binutils: add version 2.29.1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-10-15 00:24:22 +02:00
Daniel Engberg a7e4aec3d9 toolchain/glibc: Update to 2.26
Update glibc to 2.26

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-10-15 00:24:22 +02:00
Ryan Mounce d67979b9d6 toolchain/gcc: update 5.x to 5.5.0
This is the final bugfix release in the gcc-5 series.

Compile and run tested on macOS 10.13 (Xcode 9), mvebu/ar71xx.

Removed redundant patch for macOS (backported upstream by yours truly)

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2017-10-15 00:24:22 +02:00
Felix Fietkau 07a99a83f2 gcc: fix build error with macOS + Xcode 9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-05 21:14:43 +02:00
Daniel Engberg e95f22da36 toolchain/fortify-headers: Update to 0.9
Update fortify-headers to 0.9

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-09-30 22:44:18 +02:00
Ryan Mounce fc35d6e18a toolchain/gdb: update to version 8.0.1
Fixes CVE-2017-9778.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
[reference fixed CVE]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-09-29 06:33:25 +03:00
Stijn Tintel 118efdcdba Revert "toolchain/gdb: update to version 8.0.1"
Since version 8.0, gdb requires at least gcc 4.8. Unfortunately some of
the buildbot slaves don't meet this requirement, and fail to build LEDE
after the gdb upgrade. Revert to the previous gdb version for now.

This reverts commit 592abe9ef5.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-09-25 23:20:32 +03:00
Ryan Mounce 592abe9ef5 toolchain/gdb: update to version 8.0.1
Fixes CVE-2017-9778.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
[reference fixed CVE]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-09-25 07:42:34 +03:00
Kevin Darbyshire-Bryant 3f4f580954 toolchain: gcc: update 7.x to 7.2.0
Bump gcc from 7.1 to 7.2

Compile & run tested: ar71xx

Trace history of current patches and update with commit ref & comment
to give more clue as to why they're still around/needed.  Some have
changed form since the original commit but some clue is better than no
clue at all.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-09-16 19:33:37 +02:00
Koen Vandeputte c56448e2cf musl: update to 1.1.16+ git HEAD 2017-08-30
Fixes critical issues for memset() & fflush()

Changes:

5f7efb8 move IPPORT_RESERVED from netdb.h to netinet/in.h
5f3b652 add powerpc64 and s390x to list of supported archs in INSTALL
file
9d4c902 fix undefined behavior in memset due to missing sequence points
c7f56b4 __init_libc: add fallbacks for __progname setup
cc08669 add SIOCGSTAMPNS socket ioctl macro to ioctl.h
02b50c9 fix mips ioctl macros to match linux asm/sockios.h
670d6d0 fix unsynchronized access to FILE structure in fflush(0)

Tested on cns3xxx & imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-08-31 19:09:47 +02:00
Koen Vandeputte af0a93391b musl: bump to latest 1.1.16+ git HEAD
Changes:

1698fe6 fix build failure for sh4a due to missing colon in asm statement
80bf595 trap UB from attempts to join a detached thread
e31c8c2 ppc64: fix setjmp/longjmp handling of TOC pointer
52cf5c1 qsort: add a short comment about the algorithm
dc2f368 disable global visibility override hack (vis.h) by default
947d330 add _NL_LOCALE_NAME extension to nl_langinfo
a08910f fix missing volatile qualifier on lock in __get_locale
2e6e084 remove ineffective compiler assist from printf
bc42dcb fix undefined behavior in ptrace
d906fa3 unify the use of FUTEX_PRIVATE
60ab365 fix undefined behavior in free
f688884 reapply va_arg hacks removal to wprintf
bd00cc8 remove useless declarations in string.h
f3055e0 allow specifying argv[0] when invoking a program via ldso
command
43c423a fix regression in dlopen promotion from RTLD_LOCAL to
RTLD_GLOBAL
66b53cf ldso: avoid spurious & possible erroneous work for libs with no
deps
94f7441 powerpc64: add single-instruction math functions
9d12a6a fix clang CFLAGS checks and silence unused argument warnings
ce385fc s390x: add single-instruction math functions
e6def54 fix arm run-time abi string functions
91d34c4 fix regression in getspnam[_r] error code for insufficient
buffer size
5948bc1 fix omission of microblaze user.h definitions
b7bfb5c fix iconv conversions for iso88592-iso885916
64f8558 handle errors from localtime_r in ctime_r
2d7d05f set errno when getpw*_r, getgr*_r, and getspnam_r fail
5c10c33 handle localtime errors in ctime
1c86c7f handle mremap failure in realloc of mmap-serviced allocations
1080008 getdate: correctly specify error number
af05173 catopen: set errno to EOPNOTSUPP
84eff79 fix glob failure to match plain "/" to root directory
bc313e8 use hard-coded sh4a atomic opcodes to avoid linker errors on sh
179766a towupper/towlower: fast path for ascii chars
1c49700 remove long-obsolete clang workarounds from mips* syscall_arch.h
files
4073f03 fix fstatat syscall on mips64
81f4a12 fix fchown fallback on arches without chown(2)
97bd6b0 fix iconv conversions to legacy 8bit encodings
f9f686b have posix_spawnattr_setflags check for supported flags
77e895d add no-op POSIX_SPAWN_USEVFORK to spawn.h
5555041 s390x: provide sigcontext struct definition
bb439bb implement new posix_spawn flag POSIX_SPAWN_SETSID
58e2396 remove va_arg hacks in printf core with undefined behavior
e1232f5 make ttyname[_r] return ENODEV rather than ENOENT
1a7fa5e fix regression in support for resolv.conf attempts option
8c44a06 fix scalbn when result is in the subnormal range
2577b1b allow full-range file offsets to mmap on archs with 64-bit
syscall args
b3751c3 fix dl_iterate_phdr in static PIE binaries
1ca5975 fix read past end of buffer in getaddrinfo backend
54807d4 aarch64: add single instruction math functions
b6e1fe0 fix strptime output for %C without %y
834ef7a fix processing of strptime %p format
85dfab7 fix off-by-one in strptime %j
9571c53 regex: fix newline matching with negated brackets
e6917ec increase limit on locale name length from 15 to 23 bytes
e4fc9ad search locale name variants for gettext translations
16319a5 make setlocale return a single name for LC_ALL if all categories
match
0c53178 fix dlopen/dlsym regression opening libs already loaded at
startup
dbff2bb fix POSIX-format TZ dst transition times for southern hemisphere
74bca42 s390x: fix fpreg_t and remove unused per_struct
a393d5c precalculate gnu hash rather than doing it lazily in find_sym
inner loop
8cba1dc fix threshold constants in j0f, y0f, j1f, y1f
cb52539 remove unused refcnt field for shared libraries
c49d3c8 avoid loading of multiple libc versions via explicit pathname
3ec8b3a fix one-byte overflow in legacy getpass function
733d1ea fix wide scanf's use of a compound literal past its lifetime
6a209f1 fix possible fd leak, unrestored cancellation state on dns
socket fail
500f5be in static dl_iterate_phdr, fix use of possibly-uninitialized aux
data
6582baa fix free of uninitialized buffer pointer on error in regexec
6476b81 emulate lazy relocation as deferrable relocation
4823b13 reorder addend handling before symbol lookup in relocation code
4ff234f rework ldso handling of global symbol table for consistency
c9783e4 treat STB_WEAK and STB_GNU_UNIQUE like STB_GLOBAL in find_sym
fc85fb3 fix ld-behavior-dependent crash in ppc64 ldso startup
827c4e6 fix lsearch and lfind to pass key as first arg to the compar
callback
0a4a16d allow page size to vary on arm
b261a24 fix build regression in arm atomics asm with new binutils
9201c3a s390x: implement dlsym
d6601f0 avoid unbounded strlen in gettext functions
dbbb373 fix use of uninitialized pointer in gettext core
01e6bbe fix bindtextdomain logic error deactivating other domains
6894f84 fix spurious EINTR errors from multithreaded set*id, etc.
1f53e7d fix crashes in x32 __tls_get_addr
27b3fd6 fix crash from corrupted tls module list after failed dlopen
809ff8c treat base 1 as an error in strtol-family functions
786fda8 fix getopt[_long] clobbering of optopt on success
150747b reduce impact of REG_* namespace pollution in x86[_64] signal.h

Tested on cns3xxx & imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-08-30 17:05:10 +02:00
Evgeniy Didin 8647f4f018 toolchain/arc: update to the most recent release arc-2017.03
arc-2017.03 is the most recent release toolchain for ARC cores
and it is based on upstream Binutils 2.28 and GCC 6.3.0

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
2017-07-18 23:23:27 +02:00
Kevin Darbyshire-Bryant 22e2b402ae gcc: gcc 6.3.0 fix comparison between pointer and integer
Fix FS#832

/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:
In function 'bool ubsan_use_new_style_p(location_t)':
/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:1474:23:
error: ISO C++ forbids comparison between pointer and integer
[-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'
                       ^~~~
make[5]: *** [Makefile:1085: ubsan.o] Error 1

https://www.viva64.com/en/b/0425/#ID0EMGCI

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-06-24 13:11:19 +02:00
Felix Fietkau 76b62e6022 build: remove old kernel-headers build directories
Saves space after updating kernel versions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-06-16 15:16:52 +02:00
Daniel Engberg 6af0facb4e toolchain/binutils: Set 2.28 as default version
Use 2.28 by default

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-05-30 14:00:31 +02:00
Syrone Wong c87aa0d7ca toolchain/gcc: fix --with-isl path
This fixes GCC 7 compilation when GRAPHITE is selected.
The path is replaced with $(TOOLCHAIN_DIR), while it should be
$(STAGING_DIR_HOST). To keep in sync with the path of gmp,
mpfr and mpc, I'm using $(TOPDIR)/staging_dir/host.

Fixes: f62f4b3c5c ("build: stop overriding STAGING_DIR_HOST for toolchain build")

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2017-05-30 09:32:10 +02:00
Daniel Engberg 2cf4e3c420 toolchain/insight: Remove from tree
Insight hasn't been touched since 2009 and I can't find any references at
least 6 years back of being used. Ubuntu and Debian removed insight years ago
from their repos so I think we can safely remove this too.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-05-29 09:57:18 +02:00
Felix Fietkau 8851a18a88 gcc: fix documentation entries added by 910-mbsd_multi.patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Felix Fietkau 70c2c8ff39 toolchain: add gcc 7.1.0 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Felix Fietkau f62f4b3c5c build: stop overriding STAGING_DIR_HOST for toolchain build
This causes various issues in other places that assume that host
binaries are staged in STAGING_DIR_HOST.
Since all the right places use HOST_BUILD_PREFIX, override that instead.
This fixes some issues with quilt on toolchain dirs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Alexey Brodkin 34e8393019 toolchain/arc: update to the most recent release arc-2016.09
arc-2016.09 is the most recent toolchain for ARC cores and
it is based on top of upstream Binutils 2.27 and GCC 6.2.1.

With updated major version of GCC we copied all GCC 6.x patches
for ARC as well as Bintils 2.27 patches.

Note that toochain sports ARCv4 ABI and so must be used
with 4.8+ Linux kernels. Even though it will build v4.4 kernel
perfectly fine on attempt to run user-space apps they won't
work with older kernel. That said previuosly sent RFC patches with
Linux kernel update are required:
 [1] https://patchwork.ozlabs.org/patch/726686/
 [2] https://patchwork.ozlabs.org/patch/726687/

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-05-02 15:17:30 +02:00
Daniel Engberg 31be46e169 toolchain/binutils: Add binutils 2.28
Add binutils 2.28 to repo

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-03-20 08:23:58 +01:00
Jonas Gorski 5e3fb70094 toolchain: unbreak glibc on MIPS
Binutils recently updated the ABI version to 5, which broke glibc, as it
refuses to load anything > 3. Upstream reverted the ABI version update,
so backport the commit.

Fixes the following error on boot:

/bin/sh: error while loading shared libraries: /lib/libcrypt.so.1: ELF file ABI version invalid
[    0.920077] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[    0.920077]
[    0.929450] Rebooting in 1 seconds..

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-27 12:15:45 +01:00
Felix Fietkau f44ae19e15 build: fix the toolchain rebuild check
- Check for changes in toolchain/ only
- Only replace the stamp file if it was changed
- Fix dependencies for staging dir prepare
- Move the stamp file to TOOLCHAIN_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-16 08:13:16 +01:00
Felix Fietkau bd3a5ca190 toolchain: force a full rebuild on buildbot if the toolchain changed
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 16:26:04 +01:00
Felix Fietkau 6c6167621f glibc: update to version 2.25
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 21:18:42 +01:00
Felix Fietkau bf867f7f84 glibc: override default rpath to /lib:/usr/lib
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 21:18:42 +01:00
Felix Fietkau f4d9d7a26b glibc: use default PATCH_DIR
Version configuration is gone, so version specific patch directories are
not necessary either.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 20:34:26 +01:00
Alexey Brodkin a3408a5271 toolchain/uclibc: Bump version to 1.0.22
Important change was made in 1.0.18: all sub-libs were merged
in one and only libc similarly to musl.

See [1] for more details.

To support that we had to remove refences to those sub-libs like
libpthread, libcrypt, libdl, libm, libutil etc.

[1] http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=29ff9055c80efe77a7130767a9fcb3ab8c67e8ce

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-02-11 15:38:39 +01:00
Alexey Brodkin eed6c85b7f toolchain/uclibc: Fix unmanned configuration with "V=s"
Currently on attempt to configure uClibc with "V=s" user is prompted
to answer on configuration questions. Major inconvenience here is
build procedure get paused until user answers all questions.
That happens because not all symbols are defined in our .config.

Solution is as simple as usage of "olddefconfig" target instead of
simple "oldconfig". In that case default values get silently set
for symbols not defined by our .config explicitly.

We haven't noticed that subtle issue before because without "V=s"
what we do is "make oldconfig < /dev/null" which automatically
answers all questions :)

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-02-11 15:38:32 +01:00
Felix Fietkau b2c66724d7 toolchain: remove separate prepare/ step
It was a leftover from an old obsoleted dependency chain

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 15:38:16 +01:00
Felix Fietkau 38fcd2a865 build: remove libc version config code
We only support one version per libc type

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 15:37:55 +01:00
Felix Fietkau b96566aad4 build: drop circular dependency
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-10 11:05:57 +01:00
Felix Fietkau 0f5d17a7e6 toolchain/gcc: parallelize make install
If the staging dir was deleted, the build needs to recompile some files.
This change speeds up this corner case significantly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:49:34 +01:00
Felix Fietkau 43332f513b toolchain/musl: parallelize make install
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:49:33 +01:00
Etienne Haarsma fa85060698 toolchain/gdb: update to version 7.12.1
Update gdb to version 7.12.1.

GDB 7.12.1 brings the following fixes and enhancements over GDB 7.12:

   * PR tdep/20682 (aarch64 regression: gdb.cp/nextoverthrow.exp)
   * PR server/20733 (Failed to build aarch64_be-linux-gnu GDBserver)
   * PR tdep/20953 (GDB crashes after "set architecture rl78")
   * PR tdep/20954 (GDB crashes if "set architecture rx")
   * PR tdep/20955 (GDB internal error in cris-tdep.c)
   * PR build/20712 (gdb 7.12+ doesn't build as C++ on Solaris)
   * PR breakpoint/20653 (string_to_explicit_location has some weird code)
   * PR build/20753 (MinGW compilation errors due to strcasecmp)
   * PR gdb/20977 (GDB exception handling is broken on i686-w64-mingw32)
   * PR python/21048 (backtrace is broken on i686)
   * PR sim/20808 (mips sim build fails due to undefined SD/CPU variables)
   * PR sim/20809 (mips sim build fails for r3900 cpus)
   * PR gdb/20939 (GDB aborts

Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
2017-02-07 17:18:07 +01:00
Felix Fietkau b648e1c07f binutils: remove 2.25.1 support and leftovers of older versions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:16:12 +01:00
Daniel Engberg 36cca3e436 toolchain/binutils: Switch to 2.27 as default version
Use 2.27 as default which is the current relese.
Makes it easier to get support and submit patches upstream if needed.

Tested on ar71xx, mt7621, kirkwood (arm)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-02-07 17:16:11 +01:00
Jo-Philipp Wich 46b02131d7 Revert "uClibc-ng: update to 1.0.21"
This reverts commit dde5c729ec.

The uClibc update was completely untested, does not build with Kernel 4.4 and
did not adjust the configuration to predeclare new config symbols.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-06 13:04:33 +01:00
Felix Fietkau 70973dd30d gcc: remove obsolete uclibc patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 16:14:10 +01:00
Felix Fietkau f204e0fc46 toolchain/gcc: reduce source directory size by about 420 MB
Remove gcc testsuite, ada and libjava (if not selected)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 15:18:38 +01:00
Etienne Haarsma dde5c729ec uClibc-ng: update to 1.0.21
Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
2017-01-26 18:07:37 +01:00
Felix Fietkau 131db366a3 build: remove separate /install step for host builds
Reduces the number of recursive make invocations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-18 23:57:09 +01:00
Christian Lamparter a8a5cb9595 musl: update musl to 1.1.16+ and switch to download from git
This patch updates musl to 1.1.16+ [0] and removes all the
backported patches. This is a major release and tagged as such.
For more information visit musl-libc.org or read the WHATSNEW.

Furthermore, this patch also changes musl to download directly
from git. This makes it easier to update musl in the future.

The patch custom Add-format-attribute-to-some-function-declarations.patch
was assigned a new 400- number. This should avoid confusion
since 0xx numbers are usually assigned to backports.

[0] <http://git.musl-libc.org/cgit/musl/commit/?id=769f53598e781ffc89191520f3f8a93cb58db91f>

Cc: Hannu Nyman <hannu.nyman@iki.fi>
Cc: Koen Vandeputte <koen.vandeputte@ncentric.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
2017-01-16 20:40:00 +01:00
Koen Vandeputte 4c4047ec19 musl: refresh patches
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2016-12-26 11:17:33 +01:00
Koen Vandeputte 2912f9f2a2 musl: backport various post-1.1.15 fixes
Backport most important fixes up to latest HEAD

- Taken post-commit reverts/fixes into account

Compile tested
Run-tested on cns3xxx & imx6 targets

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2016-12-26 11:17:33 +01:00
Koen Vandeputte b97c933ffb musl: rename a custom backport patch
Ensure there is room in the numbering for next patches

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2016-12-26 11:17:33 +01:00
Syrone Wong 0a5ccfbadd toolchain/gcc: update 6.x to 6.3.0
This is a bugfix release

Build and run tested on mvebu/Linksys WRT1900AC v1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-12-24 12:02:10 +01:00
Felix Fietkau 3f55e5aeb5 toolchain: remove ppl/cloog, disable graphite for gcc 4.8
graphite is disabled by default and it's not worth carrying ppl and
cloog for supporting this feature on the old gcc 4.8, which is only used
for ARC

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 09:40:46 +01:00
Felix Fietkau 7a315b0b5d build: implement make check and make package/X/check
This is intended to be used for a wide array of package sanity checks.

The first check that is implemented is for the hash of downloaded files.
It checks:
  - Missing hash
  - Use of SHA256 instead of MD5
  - dl/<file> hash not matching hash in makefile
  - deprecated MD5SUM variable

The deprecated MD5SUM variable check is skipped for feeds/ until OpenWrt
is updated as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-17 10:36:25 +01:00
Felix Fietkau 720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Felix Fietkau 565988ab47 gcc: rip out transactional memory related bloat from crtbegin
Slightly improves compression for each executable, saving about 4k from
the default ar71xx rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-14 12:13:13 +01:00
Yousong Zhou 49703b589b toolchain: gcc: disable ifunc on *-musl by default
Otherwise the built binaries may fail with

    Error relocating /usr/bin/qemu-system-x86_64: unsupported relocation type 37

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-11-24 12:53:18 +01:00
BangLang Huang 0fe34d27e2 toolchain: fix MIPS softfloat build issue for gcc-5.4.0
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
2016-11-14 09:37:15 +01:00
Hannu Nyman 671cb35880 musl: fix parsing of quoted time zone names
fix parsing of the < > quoted time zone names. Compare the correct
character instead of repeatedly comparing the first character.

Patch has been submitted to upstream as
http://www.openwall.com/lists/musl/2016/10/24/3

Longer explanation in
http://www.openwall.com/lists/musl/2016/10/19/1

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
[Jo-Philipp Wich: move references into commit message, shorten title prefix]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-31 12:55:27 +01:00
Felix Fietkau 0ec2738b21 toolchain/gdb: update to version 7.12
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-24 08:45:06 +02:00
Felix Fietkau ecc091b0f6 binutils: remove old unused versions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-24 08:45:06 +02:00
Daniel Engberg 95a2e2c8fe toolchain/binutils: Add binutils 2.27
Add binutils 2.27 to toolchain

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [refresh patches]
2016-10-13 17:05:25 +02:00
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
Kevin Darbyshire-Bryant 1bc68e1379 fortify-headers: update to 0.8
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-09-27 17:50:22 +02:00
Matthias Schiffer 77f54eae45
config: enable shadow passwords unconditionally
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>
2016-09-26 17:57:56 +02:00
Syrone Wong f8c7e935ef toolchain/gcc: bump GCC 6.1.0 to 6.2.0
Compile and run tested on ar71xx and mvebu

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-04 13:36:09 +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
Daniel Golle c08651226f toolchain: include yasm in x86 toolchain
Some libraries require yasm to build with in-line assembly for x86
targets.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-08-19 17:53:50 +02:00
Stijn Tintel c14485d41a toolchain/uClibc: add missing config symbol
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-08-15 01:49:18 +02:00
Matteo Croce 360fd10ac9 gcc: optionally build gccgo compiler
Tested with eglibc on x86 and armv7 so far

Signed-off-by: Matteo Croce <matteo.croce@canonical.com>
2016-08-11 10:45:33 +02:00
Felix Fietkau ecf7671b76 gcc: add a patch to generate better code with Os on mips
Also happens to reduce compressed code size a bit

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 20:53:28 +02:00
Alexey Brodkin 7cc31b52e1 toolchain/gcc/arc-2016.03: Fix building on hosts with gcc 6.x
On attempt to build ARC toolchain on the host with gcc 6.1 I saw the
same failure as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959

This change adds a back-port of the fix from upstream gcc, see
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=233572

Note the fix is already a part of gcc-5.4 and gcc-6.1 so no need for
the same fix for others.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-07-27 17:22:39 +02:00
Stefan Weil d0619fb02c Remove existing old link before creating a new one
This is needed after a kernel update, otherwise the
new link is written as linux/linux-$(LINUX_VERSION).

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-07-25 10:39:27 +02:00
Felix Fietkau ab3bf82e01 toolchain/gcc: disable libmpx to fix build errors on x86 with gcc 6.1
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 15:22:04 +02:00
Syrone Wong 445604a915 toolchain/gcc: add 6.1.0
-fno-plt and musl-libc patches already get upstream, then dropped
in GCC 6. Other patches are almost identical compared to GCC 5.4.

Compile and run tested on ar71xx/Qihoo C301 and
mvebu/Linksys WRT1900ac v1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanups/fixes]
2016-07-15 14:17:58 +02:00
Felix Fietkau a4e90e2cac toolchain: get rid of GCC_VERSION_5 config symbol
Replace it with !GCC_VERSION_4_8 to be more future compatible

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:40 +02:00
Felix Fietkau e031940570 toolchain/gcc: clean up remaining references to the old linaro version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:36 +02:00
Felix Fietkau d4916359c0 toolchain/gdb: update to version 7.11.1
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:30 +02:00
Felix Fietkau 0aa6450840 toolchain/gdb: reorganize patch layout
Use ./patches and ./patches-arc instead of version dependent patches.
We should have only one main supported version (along with the special
case for arc).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:26 +02:00
Syrone Wong 0f4a337b31 toolchain/binutils: add 2.26.1
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fixes/cleanup]
2016-07-15 14:17:20 +02:00
Hauke Mehrtens 3e5b50a8a7 musl: remove sh3 workaround
The GCC bug 67260 is fixed upstream now, remove this workaround.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 23:04:21 +02:00
Hauke Mehrtens 9816d2f5f5 musl: update musl to version 1.1.15
The removed patch is already integrated in upstream musl.
Add one additional patch which fixes a regression on mips.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 23:04:19 +02:00
Hauke Mehrtens 2d3917d5b5 gcc: update gcc to version 5.4.0
The removed patches are already integrated in upstream gcc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 23:04:18 +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
Alexey Brodkin c5bbb55bab toolchain/gdb: Use correct folder name for ARC patches
Even though ARC tools were released as arc-2016.03
we have a little bit different version name for GDB.
That's because both Binutils and GDB come from the same
git repo but from different branches (and so different tags).

Also removing an extra patch that made its way into release.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-06-13 22:51:42 +02:00
Felix Fietkau 7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Alexey Brodkin 0c920e3281 toolchain: uClibc: Bump to the most recent version 1.0.14
This change updates uClibc version to the most recent 1.0.14 release.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-05-27 15:50:17 +02:00
Alexey Brodkin d354bfde17 toolchain: Bump ARC tools to arc-2016.03
This change switches ARC tools to the most recent arc-2016.03
version.

ARC GNU tools of version arc-2016.03 bring some quite significant
changes like:
 * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC
 * patches)
 * GCC v4.8.5
 * GDB 7.10

More about changes, improvements and fixes could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-05-19 19:29:44 +02:00
Matthias Schiffer 3339f14e84
toolchain: gcc: fix build with GCC 6
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-05-08 23:37:40 +02:00
John Crispin fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
Hauke Mehrtens 336ad4c9aa toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
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
2016-04-17 12:49:30 +00:00
John Crispin 7409b5abfe toolchain/gdb: Update to 7.11
Update gdb to version 7.11

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

SVN-Revision: 48989
2016-03-10 19:11:41 +00:00
Felix Fietkau fb0fcf9ae2 musl: update to latest git, adds some fixes for the mips64 port and regular expressions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48957
2016-03-07 21:00:49 +00:00
Felix Fietkau 5168d43b16 gcc: update gcc 5 to version 5.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48826
2016-02-29 20:09:45 +00:00
Felix Fietkau 9ae8541466 toolchain: use musl instead of glibc by default for mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48804
2016-02-26 10:56:02 +00:00
Felix Fietkau e70ec04eb3 musl: add mips64 port
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48803
2016-02-26 10:55:59 +00: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
Felix Fietkau 796968fc0f musl: update to version 1.1.14
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48762
2016-02-25 09:24:46 +00:00
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
2016-02-18 08:22:17 +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
John Crispin 9fbc71c31d toolchain/gdb: update to 7.10.1
Minor bugfix update, released in Dec 2015
https://www.gnu.org/software/gdb/news/

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

SVN-Revision: 48708
2016-02-12 08:31:06 +00:00
Felix Fietkau 8fe8360981 musl: fix an alignment issue that was breaking ldso on ARMv5
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48577
2016-01-31 00:55:05 +00:00
Felix Fietkau 0c6b003704 musl: fix GDB debugging on mips (local, remote)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48575
2016-01-30 20:15:16 +00:00
Felix Fietkau ed95e47f07 musl: update to the latest git version, fixes TLS issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48574
2016-01-30 20:15:11 +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 88df28aab1 toolchain: fix default toolchain selection for mips64 added in r47355
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48554
2016-01-29 23:19:19 +00:00
Hauke Mehrtens 998f8bd02c musl: fix mips vdso handling
mips returns -ENOSYS in case it can not handle the vdso call and wants
the libc to call the original syscall in such a case. This fixes the
patch to add such handling. I hope this fixes the random reboots I got.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48501
2016-01-25 23:26:19 +00:00
Felix Fietkau 99419349e6 musl: update to 1.1.12 + git from 2016-01-22
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48486
2016-01-25 12:42:00 +00:00
Felix Fietkau d9db303af6 gcc: backport a libgcc fix for a dependency on libc write() on ARM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48485
2016-01-25 12:41:55 +00:00
Hauke Mehrtens be5fcf9fd7 musl: Add format attribute to some function declarations
GCC and Clang are able to check the format arguments given to a
function and warn the user if there is a error in the format arguments
or if there is a potential uncontrolled format string security problem
in the code. GCC does this automatically for some functions like
printf(), but it is also possible to annotate other functions in a way
that it will check them too. This feature is used by glibc for many
functions. This patch adds the attribute to the some functions of musl
expect for these functions where gcc automatically adds it.

GCC automatically adds checks for these functions: printf, fprintf,
sprintf, scanf, fscanf, sscanf, strftime, vprintf, vfprintf and
vsprintf.

The documentation from gcc is here:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html

The documentation from Clang is here:
http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48467
2016-01-24 00:05:14 +00:00
Hauke Mehrtens b5d6256ca8 musl: mips: add vdso support
vdso support is available on mips starting with kernel 4.4, see kernel
commit a7f4df4e21 "MIPS: VDSO: Add implementations of gettimeofday()
and clock_gettime()" for details.

These are my micro benchmark results for 1.000.000 calls to
clock_gettime(CLOCK_MONOTONIC, &tp)

without vdso:
root@OpenWrt:/# time ./vdso-test
real 0m 0.95s
user 0m 0.24s
sys 0m 0.70s

with vdso:
root@OpenWrt:/# time /usr/bin/vdso-test
real 0m 0.35s
user 0m 0.34s
sys 0m 0.00s

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48466
2016-01-23 23:48:55 +00:00
Felix Fietkau d0077103b7 musl: backport a fix that caused the wrong relocations to be emitted on some architectures
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48444
2016-01-21 19:00:51 +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 6ae4479190 gcc: drop version 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48395
2016-01-20 13:54:22 +00:00
Felix Fietkau 15aa6d1a16 binutils: switch to version 2.25.1 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48394
2016-01-20 13:54:17 +00:00
Felix Fietkau 54dad4c873 toolchain/musl: remove old CONFIG_MUSL_ENABLE_DEBUG option
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48387
2016-01-19 23:44:44 +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
Felix Fietkau 89ca7c5d0e toolchain/musl: enable debug information
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48363
2016-01-19 12:41:59 +00:00
Felix Fietkau dbf2ec47a6 gcc: remove v4.6 relicts
Fixes: commit f17e56eff5b9 ("gcc: remove version 4.6, it is no longer needed")

CC: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>

SVN-Revision: 47965
2015-12-23 11:23:19 +00:00
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
2015-12-03 14:47:29 +00:00
Felix Fietkau 6638374f5d gcc: make colors optional based on the GCC_COLORS env var
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47642
2015-11-25 14:12:44 +00:00
Felix Fietkau 52a307e54a gcc: fix internal compiler error on MIPS with MIPS16 enabled (triggered by libpcap)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47494
2015-11-18 00:57:22 +00:00
Felix Fietkau 124b8a6dd6 gcc: switch to 5.2.0 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47492
2015-11-17 12:38:41 +00:00
Felix Fietkau 79452344fe gdb: use separate patches for upstream and ARC gdb
With bump of upstream GDB from 7.9 to 7.10 at least
100-no_extern_inline.patch became incompatible with
ARC gdb (which is still based on upstream 7.9 branch).

So until ARC support is not completely upstreamed
(which we expect to happen in coming months) we'll need to have
separate patches for ARC gdb.

This time clean build-tested for Netgear WNDRMAC & AXS101.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47491
2015-11-17 12:38:32 +00:00
Felix Fietkau 331735a357 gcc: add a patch to 5.x that supports translation of __FILE__ paths
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47490
2015-11-17 12:38:22 +00:00
Jo-Philipp Wich ab11edcd4c musl: fix handling of point-to-point interfaces in getifaddrs()
Current musl reports the peer (remote) address of a point-to-point
interface and does not store the local address at all.

Apply the same special treatment of IFA_LOCAL to musl's getifaddrs() which
is also used in glibc and uclibc.

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

SVN-Revision: 47488
2015-11-16 18:15:00 +00:00
Felix Fietkau 9d6a9b6f51 gcc: set the isl/cloog prefix when graphite is enabled, disable it explicitly if it is disabled in the config
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47465
2015-11-13 11:35:41 +00:00
Felix Fietkau 3d41dbae65 tools: add isl (used for graphite on GCC 5)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47464
2015-11-13 11:35:37 +00:00
Felix Fietkau d3ba30b9cd toolchain/gdb: disable python support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47446
2015-11-10 21:11:20 +00:00
Felix Fietkau f7939f5e74 gcc: remove version 4.6, it is no longer needed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47443
2015-11-10 21:10:53 +00:00
Felix Fietkau 795cab69b3 gcc: enable LTO support unconditionally
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47442
2015-11-10 21:10:45 +00:00
Felix Fietkau 8a22f31c25 gcc: use version 5.x for octeon instead of 4.6 - it has been tested with glibc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47441
2015-11-10 21:10:39 +00:00
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
2015-11-10 12:03:59 +00:00
Felix Fietkau 05baf2ced2 toolchain: remove obsolete kernel version check
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47413
2015-11-07 16:22:18 +00:00
Felix Fietkau 2e29046a9e uClibc: mark as broken for all architectures that use musl by default
We will only support uClibc for targets that actually need it.

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

SVN-Revision: 47401
2015-11-07 12:11:44 +00:00
Felix Fietkau 4e6c4d728b toolchain/gdb: update to 7.10, sync with target package version
Update toolchain gdb to 7.10.
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

SVN-Revision: 47396
2015-11-06 10:53:27 +00:00
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
2015-11-02 18:12:16 +00:00
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
2015-11-02 18:12:10 +00:00
Felix Fietkau 36d3c4bdbf toolchain: use glibc instead of uclibc for mips64 by default - uclibc is still buggy there in a few places
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47355
2015-11-02 18:12:01 +00:00
John Crispin 5430c095af musl: add upstream patch for open_[w]memstream
This patch fixes corner case in open_memstrem, when stream is created,
but nothing is written.
This case is present in tgtadm, tgtd management tool.

Signed-off-by: Maxim Storchak <m.storchak@gmail.com>

SVN-Revision: 47339
2015-11-02 10:16:40 +00:00
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
2015-10-26 10:39:48 +00:00
Felix Fietkau 7ac91a91b3 musl: re-enable des crypto support, fixes pppd MPPE issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47078
2015-10-01 19:50:06 +00:00
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
2015-10-01 19:50:01 +00:00
Felix Fietkau 6c6508d0e1 gcc: fix accidentally dropped chunk of the musl gcc 5.2.0 powerpc patch (fixes #20501)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47024
2015-09-22 08:30:15 +00:00
Felix Fietkau 3d64edb024 gcc: use qstrip template to fix syntax highlighting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47023
2015-09-22 08:30:05 +00:00
Felix Fietkau 8f57c55993 musl: fix build on sh3
musl fails to build when compiled with gcc on sh3 (GCC target/#67260).
Work it around.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 47012
2015-09-21 17:40:44 +00:00
Hauke Mehrtens e2ffe8f1b9 binutils: fix name of Binutils 2.25.1
The Binutils version 2.25.1 was not a Linaro version, but a normal
upstream Binutils version, fix the name.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Reported-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>

SVN-Revision: 46946
2015-09-15 21:58:48 +00:00
Felix Fietkau 0c2f21d303 Revert "musl: fix termios struct c_ispeed/c_ospeed field names" (accidental commit)
SVN-Revision: 46898
2015-09-13 17:39:24 +00:00
Felix Fietkau ed1e87ae2e gcc: fix path to powerpc musl dynamic linker with 5.2 (#20501)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46897
2015-09-13 17:38:55 +00:00
Felix Fietkau 5dd5a2990e musl: fix termios struct c_ispeed/c_ospeed field names
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46896
2015-09-13 17:38:49 +00:00
Hauke Mehrtens 98e00f8fdd binutils: add binutils 2.25.1
This adds binutils 2.25.1 as an option to OpenWrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46874
2015-09-11 17:58:39 +00:00
Hauke Mehrtens 0fdb4a458b gcc: update gcc 5.x musl patches
This replaces the musl patches for gcc with the versions which are in
gcc trunk.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46873
2015-09-11 17:57:39 +00:00
Felix Fietkau 9365745f8e musl: add a hack to remove unused crypt() algorithms, saves ~14k after lzma
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46816
2015-09-08 10:57:11 +00:00
Felix Fietkau d571f17129 gcc: add missing powerpc patch for 5.2.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46800
2015-09-07 06:59:56 +00:00
Felix Fietkau 4077850c7d gcc: remove 4.6.3 leftovers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46799
2015-09-06 10:07:07 +00:00
Felix Fietkau 400fb6cadc gcc: remove version 4.9-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46798
2015-09-06 10:07:03 +00:00
Felix Fietkau 86ba95601a gcc: add ARM codegen fix from PR 65932
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46774
2015-09-03 13:14:44 +00:00
Felix Fietkau 58ab3ad6b0 musl: update to version 1.1.11
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46772
2015-09-02 15:44:17 +00:00
Steven Barth a6dc587cf6 musl: fix getsubopt function
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46684
2015-08-18 09:18:40 +00:00
Hauke Mehrtens 32c3af6a19 toolchain: gcc: add gcc 5.2.0
This was boot tested on mipsel32, arm32 and x86 only.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46611
2015-08-16 20:20:36 +00:00
Felix Fietkau 5537698be1 musl: update to latest git version
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46481
2015-07-24 15:35:55 +00:00
Steven Barth bee26ca0de fortify-headers: update to 0.7
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46480
2015-07-24 13:51:45 +00:00
John Crispin b2739f37d6 toolchain: fix gcc 4.6 build with gcc5
build error:
cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p'
cfns.gperf:26:14: error: but not here
observed on Arch Linux

affected versions gcc 4.6, gcc 4.7

reported & fixed in DragonFlyBSD issue #136
https://github.com/DragonFlyBSD/DPorts/issues/136

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 46355
2015-07-14 07:43:50 +00:00
Felix Fietkau 0f81020b97 gcc: use the -sf suffix for musl ldso on powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46313
2015-07-12 18:54:30 +00:00
Felix Fietkau 05ae45ac6f toolchain/gdb: use expat library to be able to parse target machine definitions
Fixes gdbserver debugging with at least mvebu, possibly others

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

SVN-Revision: 46298
2015-07-10 19:42:12 +00:00
Felix Fietkau 91c3ad77cf toolchain/gdb: update to 7.8, sync with target package version
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46296
2015-07-10 19:42:00 +00:00
Felix Fietkau 172374dbdd musl: add powerpc soft-float support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46267
2015-07-08 12:06:03 +00:00
Felix Fietkau cd5d45604f musl: call a_crash() inside __stack_chk_fail_local instead of calling __stack_chk_fail
Fixes relocation errors on PowerPC

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

SVN-Revision: 46266
2015-07-08 12:05:55 +00:00
Steven Barth 9caaed9141 toolchain: binutils: enhance build reproducability
built toolchain utilities will always operate in deterministic mode:
https://sourceware.org/binutils/docs-2.25/binutils/ar-cmdline.html

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 46137
2015-06-29 06:47:42 +00:00
Felix Fietkau 2475351cb1 musl: update to latest git to fix MIPS and PowerPC TLS issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46134
2015-06-27 23:25:46 +00:00
Matteo Croce c37d7a7e8f fix mklibs with musl
crate a relative symlink to libc.so because
make wildcard function ignores broken symlinks

SVN-Revision: 46123
2015-06-25 10:14:22 +00:00
Steven Barth 9bdae8fc1e fortify-headers: fix compatibility with -pedantic
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46122
2015-06-24 18:52:13 +00:00
Steven Barth 2738526a16 toolchain: add fortify-headers, enable FORTIFY_SOURCE by default
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46117
2015-06-23 14:38:03 +00:00
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
2015-06-23 10:43:19 +00:00
Steven Barth 1877bc9d8f gcc/musl: rework SSP-support
Make musl provide libssp_nonshared.a and make GCC link it unconditionally
if musl is used. This should be a no-op if SSP is disabled and seems to be
the only reliable way of dealing with SSP over all packages due to the mess
that is linkerflags handling in packages.

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46108
2015-06-22 10:31:07 +00:00
Felix Fietkau 3a237d638e toolchain: mark gcc 4.9 as broken, it miscompiles some code especially on ARM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46089
2015-06-21 17:52:00 +00:00
Steven Barth eb73f4aed7 musl: update musl to 2015-06-20
Fixes a mips-regression and a missing SSP function

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46075
2015-06-20 18:36:50 +00:00
Steven Barth b954c61d96 musl: apply hardening options (e.g. SSP) also to libc itself
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46073
2015-06-20 17:37:25 +00:00
Steven Barth cfdadd3e1d gcc: musl comes with its own SSP, so use it instead of libssp
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46071
2015-06-20 17:37:20 +00:00
Felix Fietkau 7b4d039e00 musl: read the timezone from /etc/TZ
Currently the OpenWRT boot scripts write the timezone configuration to
/tmp/TZ, relying on the behaviour of uClibc that the timezone is read
from /etc/TZ if no TZ env variable is found.

This works because /etc/TZ is a symlink to /tmp/TZ.

Musl libc however only reads the timezone from the TZ env variable and
if it doesn't find it or it's empty, it will look for a zoneinfo
file, that doesn't exist.

So in musl builds no timezone is ever set.

This patch fixes the issue by having musl libc behave like uClibc: if no
TZ env variable is found it will try to load it from /etc/TZ.

Signed-off-by: Gianluca Anzolin <gianluca at sottospazio.it>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46069
2015-06-19 17:48:11 +00:00
Steven Barth 2fb09857e1 uclibc: unbreak after enabling SSP
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46034
2015-06-18 09:49:45 +00:00
Steven Barth 19810a5145 hardening: enable regular SSP support by default
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46020
2015-06-17 13:13:48 +00:00
Felix Fietkau 41c53d8f0c musl: update to version 1.1.10+git
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46001
2015-06-16 11:55:23 +00:00
Felix Fietkau a778060392 toolchain: switch to musl by default, except for mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45995
2015-06-15 23:05:08 +00:00
Imre Kaloz e856d62d0a toolchain/gcc: upgrade Linaro GCC 4.9 to 4.9-2015.03
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 45944
2015-06-11 11:57:11 +00:00
Felix Fietkau 555df40af9 musl: update to version 1.1.9
Patch to 2015-06-04 to fix ldso related regressions on PPC and MIPS.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45886
2015-06-04 20:08:39 +00:00
Felix Fietkau 3d35dfb782 Revert "musl: update to version 1.1.9" (r45754)
The current version seems to be broken on MIPS.

SVN-Revision: 45879
2015-06-03 00:22:51 +00:00
Felix Fietkau 8cff8c8b08 musl: update to version 1.1.9
Patch to 2015-05-25 to fix ldso related regressions on PPC and MIPS.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 45754
2015-05-25 23:11:01 +00:00
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
2015-05-25 22:59:04 +00:00
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
2015-05-23 15:26:19 +00:00
Felix Fietkau 4c5f965c74 toolchain: change default emulation for mips64 (octeon) to n64
fixes several ld errors reported by buildbot:
http://buildbot.openwrt.org:8010/broken_packages/octeon/mdnsresponder/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/luasocket/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/luasec/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/openvswitch/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/prosody/compile.txt

link error:
 ABI is incompatible with that of the selected emulation

found at OE toolchain for bintils 2.22:
http://patchwork.openembedded.org/patch/28033/

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 45666
2015-05-10 13:54:20 +00:00
Felix Fietkau 64661de100 gcc: add some size optimization patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45664
2015-05-10 13:16:35 +00:00
Nicolas Thill 6a5a7db085 uClibc: backport sync_file_range fixes (closes: #19350)
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 45249
2015-04-02 23:21:30 +00:00
Felix Fietkau 4ecc5c8ffe uclibc: backport an upstream i386 syscall fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45137
2015-03-29 10:43:07 +00:00
Felix Fietkau b97c3b0249 uClibc: add another missing backport patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45102
2015-03-29 04:26:42 +00:00
Felix Fietkau 19150d393d toolchain/uClibc: backport madvise and fallocate (fixes #19336)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45100
2015-03-29 02:16:13 +00:00
Felix Fietkau 5809da3c05 toolchain/musl: update to the latest version, adds aarch64 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45091
2015-03-28 13:38:45 +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
John Crispin 384eb8ce7d uclibc: add LD_PRELOAD support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45004
2015-03-26 10:57:44 +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
Felix Fietkau 793a451584 toolchain: remove obsolete references to the cris architecture
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44964
2015-03-24 10:07:31 +00:00
Felix Fietkau 85a3512150 toolchain: remove obsolete !avr32 dependency
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44962
2015-03-24 10:07:13 +00:00
Felix Fietkau 3a52795531 uClibc: remove avr32 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44961
2015-03-24 10:07:07 +00:00
Felix Fietkau 755a90344e binutils: remove version 2.20.1 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44960
2015-03-24 10:06:55 +00:00
Felix Fietkau 76bf68fa52 binutils: remove defunct binutils default version selection for aarch64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44958
2015-03-24 10:06:38 +00:00
Felix Fietkau fc2bd07260 gcc: remove 4.4.7 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44957
2015-03-24 10:06:27 +00:00
Felix Fietkau a80c80580c toolchain/kernel-headers: remove an obsolete patch directory
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44871
2015-03-17 11:16:45 +00:00
Felix Fietkau 808c460250 toolchain: remove leftovers from old llvm-gcc experiments
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44783
2015-03-15 12:03:01 +00:00
John Crispin 57a8bd2bc5 toolchain: r44701 accidentially removed the uclibc default when TOOLCHAINOPTS is set
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44766
2015-03-15 06:35:18 +00:00
John Crispin dfd09fc769 glibc: make it more obvious that eglibc is a version of glibc
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44704
2015-03-12 20:29:58 +00:00
John Crispin 1d2c7dd65e glibc: remove accidentally commited folder
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44703
2015-03-12 20:29:50 +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
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
2015-03-12 10:07:01 +00:00
Nicolas Thill d48735dd85 toolchain/gcc: fix an ICE on ARM (PR58595)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595

Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 44394
2015-02-11 11:30:56 +00:00
John Crispin dc996e218d eglibc: mark 2.15 as broken it is effected by CVE-2015-0235
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44164
2015-01-28 12:06:05 +00:00
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
2015-01-17 14:31:30 +00:00
Felix Fietkau 8e20e09d1b musl: update to version 1.1.6
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43977
2015-01-15 21:40:44 +00:00
Felix Fietkau 63176d7e1e musl: merge changes from git, includes further getopt fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43939
2015-01-11 18:25:23 +00:00
Felix Fietkau f38436f607 binutils: run install twice instead of overwriting the final toolchain with the initial one
fixes compiler error after a binutils rebuild/reinstall without
rebuilding the rest of the toolchain

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

SVN-Revision: 43785
2014-12-27 13:00:09 +00:00
Felix Fietkau 7d808a325d binutils: enable plugin support
--enable-plugin is necessary for gcc-ar, gcc-nm and gcc-ranlib to work, which
must be used with GCC 4.9 for LTO to work.

Without this option, gcc-ar etc. will just fail with

    sorry - this program has been built without plugin support

Using the normal ar from binutils with GCC 4.9 and -flto will cause linking
with static "convenience" libraries to fail.

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

SVN-Revision: 43783
2014-12-27 12:59:53 +00:00
Felix Fietkau 35a9cb833c build: ensure tools are built before building the toolchain
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43693
2014-12-13 11:57:14 +00:00
Felix Fietkau 548d9a008f gcc: don't clobber stamp-bits with a symlink to itself
Several versions of gcc have an issue in libstdc++v3 where the build may
clobber stamp-bits with a link to itself.  This doesn't manifest itself
on all systems.  On several Ubuntu systems, this doesn't appear to be a
problem, but it is an issue on Fedora 16 systems.

To fix the issue, we'll simply filter out stamp-bits from the symlinks
to be generated.

Note: gcc 4.4.7 is unaffected by this issue, so no fix is necessary
there.

Signed-off-by: John Szakmeister <john@szakmeister.net>

SVN-Revision: 43669
2014-12-12 17:01:57 +00:00
Felix Fietkau b2bdea8ad4 uClibc: fix ptrace header files for powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43617
2014-12-11 14:38:50 +00:00
Jonas Gorski 100e2feb22 toolchain-headers: also copy asm-eva.h for mips(el) for 3.15+
Kernel 3.15's asm.h includes eva-asm.h, so copy it also, else lzma-loader
won't compile due to a missing include.

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

SVN-Revision: 43460
2014-12-01 13:27:06 +00:00
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
2014-11-30 22:22:24 +00:00
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
2014-11-30 22:22:14 +00:00
Florian Fainelli dd8d7188ee aarch64: add initial support
Add initial support for the AArch64 architecture

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

SVN-Revision: 43353
2014-11-24 06:33:13 +00:00
Florian Fainelli d6da770a80 eglibc: enforce use of autoconf-2.69
Since we updated autoconf in r42855 we also need to enforce its use
while building eglibc to allow it to build successfully.

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

SVN-Revision: 43352
2014-11-24 02:06:20 +00:00
John Crispin d49f9039f7 musl: add getopt support for non-option arguments
musl libc doesn't support the GNU getopt extension to parse non-option
arguments when the optstring starts with '-'.

This extension is used by some utilities, notably iptables, that
currently return with errors even with perfectly valid invocations.

The patch adds the code needed by getopt.c and getopt_long.c to
implement that extension.

Signed-off-by: Gianluca Anzolin <gianluca@sottospazio.it>

SVN-Revision: 43309
2014-11-19 09:21:02 +00:00
Florian Fainelli afa36fe3bc toolchain: fix mips64 musl linker names
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 43035
2014-10-24 00:15:58 +00:00
Felix Fietkau 4d5218e083 musl: fix getopt optional argument processing
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43009
2014-10-21 11:03:20 +00:00
Felix Fietkau 9d1b619cb1 binutils: remove linaro version string, it confuses gcc lto support detection
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43004
2014-10-20 11:43:08 +00:00
Felix Fietkau 20e7ccc3a2 gcc: update 4.9 to linaro 2014.10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43003
2014-10-20 11:42:59 +00:00
Felix Fietkau 939d0869cc toolchain: mark musl as non-broken
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42977
2014-10-19 21:57:28 +00:00
Felix Fietkau 81cc26c706 gcc: do not assume that the Mac OS X filesystem is case insensitive
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42973
2014-10-19 21:45:51 +00:00
Felix Fietkau 296563018c musl: update to version 1.1.5
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42971
2014-10-19 21:45:41 +00:00
Felix Fietkau 1f85497423 gcc: update, split and rework 4.9 musl patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42970
2014-10-19 21:45:36 +00:00
Felix Fietkau 69c1568779 gcc: update, split and rework 4.8 musl patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42969
2014-10-19 21:45:28 +00:00
Felix Fietkau 663ddf8f17 gcc: backport an upstream fix for extern vars with local weak definitions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42962
2014-10-19 16:18:56 +00:00
Felix Fietkau b537205ea2 toolchain: fix binutils broken symlink
The Makefile for binutils creates a broken symlink to "binutils-linaro" in
"trunk/build_dir/toolchain-<target>_gcc-4.9-linaro_uClibc-0.9.33.2".
Modify the Makefile to point the symlink to the correct directory.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 42954
2014-10-18 19:25:24 +00:00
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
2014-10-14 12:57:39 +00:00
Felix Fietkau b6fb77ebfe gcc: remove version 4.8.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42777
2014-10-05 18:40:43 +00:00
Felix Fietkau c7bc3ad908 binutils: remove old versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42776
2014-10-05 18:40:38 +00:00
Felix Fietkau 646dfde826 Fix broken implementation of NOEXECSTACK flag for MIPS architectures for gcc-linaro-4.8
This patch ensures that libgcc_s.so properly honours the NOEXECSTACK flag
for MIPS builds, when gcc-linaro-4.8 or 4.9 is the chosen C compiler.

Signed-off-by: Andrew McDonnell <bugs@andrewmcdonnell.net>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42769
2014-10-05 15:21:30 +00:00
Felix Fietkau 749d865aa4 gcc: gcc 4.9.x disable libsanitize
gcc 4.9.x enables building of libsanitize

- libsanitize needs some headers that are not available
  in uclibc (netrom/netrom.h)

according to buildroot project:
- build fail with musl
- need wordexp with uclibc which increases uclibc size
http://git.buildroot.net/buildroot/commit/?id=5f4d658d888b539de9a6247ae5b1a0999de5d4ec
http://git.buildroot.net/buildroot/commit/?id=554e29e267e6b36a0fd78c82cbad2c82d939eb7f

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 42767
2014-10-05 14:59:45 +00:00