Commit Graph

1496 Commits

Author SHA1 Message Date
Syrone Wong
e027df97fc toolchain/gcc: Add GCC 10.1.0 patches
Compared to GCC 9:

870-ppc_no_crtsavres.patch changes moved to another file following upstream
881-no_tm_section.patch keep the tm section disabled

patches refreshed to apply cleanly

See https://gcc.gnu.org/gcc-10/porting_to.html for more info

Compiled and run tested on x86_64

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2020-07-11 13:33:28 +02:00
Syrone Wong
bf540f333c toolchain/gcc: Add GCC 10.1.0 config
Add needed config changes and tarball hash for new GCC version.

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
[added missing commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-07-11 13:33:28 +02:00
Syrone Wong
d0b25301d3 toolchain/gcc: Copy patches from 9.3.0 to 10.1.0
No content changes in this commit

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2020-07-11 13:33:28 +02:00
Ian Cooper
b933f9cf0c toolchain: remove gcc libssp and use libc variant
Removes the standalone implementation of stack smashing protection
in gcc's libssp in favour of the native implementation available
in glibc and uclibc. Musl libc already uses its native ssp, so this
patch does not affect musl-based toolchains.

Stack smashing protection configuration options are now uniform
across all supported libc variants.

This also makes kernel-level stack smashing protection available
for x86_64 and i386 builds using non-musl libc.

Signed-off-by: Ian Cooper <iancooper@hotmail.com>
2020-06-17 23:57:07 +02:00
Alexander Couzens
69e7d14e1b
musl: use official release tar
To prevent "wrong" musl packages which have a new version number
but the package still contains an old version, because
PKG_SOURCE_VERSION was unchanged.

Ref: musl ml https://www.openwall.com/lists/musl/2020/05/22/4

Reviewed-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2020-06-14 02:42:21 +02:00
Matthias Schiffer
afea16b8f7
musl: restore lock skipping for mostly-singlethreaded programs, and related patches
The remainder of the patch series proposed by upstream [2] for the locking
synchronization issue [1].

[1] https://www.openwall.com/lists/musl/2020/05/22/3
[2] https://www.openwall.com/lists/musl/2020/05/22/10

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2020-05-26 23:45:17 +02:00
Matthias Schiffer
10c211031c
musl: fix locking synchronization bug
Import proposed upstream fix [2] for the critical locking
synchronization bug recently found in musl [1].

This affects all programs that are temporarily multithreaded, but then
return to single-threaded operation.

[1] https://www.openwall.com/lists/musl/2020/05/22/3
[2] https://www.openwall.com/lists/musl/2020/05/22/10

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2020-05-26 23:45:16 +02:00
Hans Dedecker
98342b1543 glibc: update to latest 2.31 commit (BZ #25976, BZ #25824)
3a44844c97 nss_compat: internal_end*ent may clobber errno, hiding ERANGE [BZ #25976]
c839175267 aarch64: fix strcpy and strnlen for big-endian [BZ #25824]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2020-05-26 22:28:49 +02:00
Hans Dedecker
14f372428a glibc: update to latest 2.31 commit
1094741224 aarch64: Accept PLT calls to __getauxval within libc.so
a98b8b221c NEWS: Mention fixes for BZ 25810/25896/25902/25966
4c833bbebe x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ #25966]
3b9ceb3320 NEWS: Mention bug 25639 fixed in 2.31 branch
bb44fe7711 oc_FR locale: Fix spelling of April (bug 25639)
f2ac792047 oc_FR locale: Fix spelling of Thursday (bug 25639)
18fdba553d Add a C wrapper for prctl [BZ #25896]
7c9e054afd powerpc: Rename argN to _argN in LOADARGS_N [BZ #25902]
9c5ae39a64 Add C wrappers for process_vm_readv/process_vm_writev [BZ #25810]
63c3696a4a Mark unsigned long arguments with U in more syscalls [BZ #25810]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2020-05-13 22:00:28 +02:00
Rosen Penev
cf22c4435e toolchain/gcc: eliminate uClibc atexit hack
This seems to be over 10 years old. It doesn't seem to be needed anymore.

Tested on malta with uClibc (selected BROKEN).

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-26 21:45:41 +02:00
Hauke Mehrtens
a2cf87a7b1 toolchain: glibc: Define minimum support kernel version as 4.14
This will compile glibc in a way that it will only support kernel 4.14
and later. Compatibility code for older kernel versions will be removed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-04-18 21:06:45 +02:00
Hauke Mehrtens
02c5019a35 toolchain: glibc: Update glibc to version 2.31
This updates glibc to the most recent version 2.31.

001-regex-read-overrun.patch was a backport from a more recent version
and is integrated in glibc 2.31.

050-Revert-Disallow-use-of-DES-encryption-functions-in-n.patch is needed
to add the DES crypto functions back again. They were removed in glibc
2.28, but we still use them in ppp.
musl lib also provides these DES crypto functions. Without them we would
have to link ppp against openssl or an other crypto library.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-04-18 21:06:45 +02:00
Rosen Penev
1647790ae6 toolchain/gcc: remove uclibc hack
This was introduced with 014d3b98b9 , which
is almost 10 years old. uClibc-ng does not suffer from this problem.

Note that this hack prevents libstdc++ from using C++11 math functions.

Tested by removing all of the mpd patches designed to fix this and
compiling.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-13 22:40:19 +02:00
Hauke Mehrtens
cb44ab4f5d toolchain: Update GCC 9 to version 9.3.0
The removed patch is included in GCC 9.3.0.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-03-18 23:55:51 +01:00
Hauke Mehrtens
db70077668 toolchain: Update GCC 8 to version 8.4.0
The removed patch is included in GCC 8.4.0.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-03-18 23:55:51 +01:00
Daniel Engberg
53470bdf32 toolchain/binutils: Add binutils 2.34
Refresh patches
Drop 300-012_check_ldrunpath_length.patch

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2020-02-22 16:38:41 +01:00
Jeffery To
c102f702e7 toolchain/gcc: Backport patch to fix unconditional MULTIARCH_DIRNAME
This backports the patch for GCC PR target/89587 (gcc's rs6000
configuration unconditionally sets MULTIARCH_DIRNAME, even when
multiarch is disabled).

This currently affects apm821xx and may cause issues when
cross-compiling packages, e.g. Python 3[1].

This includes patches for GCC 8 (with the changelog diff removed);
this change is already included in GCC 9.2 and 7.5.

[1]: https://github.com/openwrt/packages/issues/10552

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
[Removed patch for GCC 7.4.0, GCC 7.5.0 already contains this]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-12-23 00:04:18 +01:00
Yorkie Liu
65a561fd09 toolchain/gcc: correct the check expr for newer clang
This fixes gcc build error within clang 11.0, it tweaks the version
string from LLVM to clang.

Signed-off-by: Yorkie Liu <yorkiefixer@gmail.com>
2019-12-23 00:04:18 +01:00
Hans Dedecker
1ec6e7837e glibc: update to latest 2.27 commit (BZ #2503, BZ #2504)
bef0b1cb31 libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203]
4d5cfeb510 rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204]
92f04eedb5 mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-12-11 22:31:54 +01:00
Alin Nastac
839bc1e15e glibc: backport fix for regexec buffer read overrun
Problem found by AddressSanitizer[1]:

 Latest `grep` (git commit 1019e6e) compiled with asan may cause a
 heap-buffer-overflow when `-i` is specified.

     ./grep -i '\(\(\)*.\)*\(\)\(\)\1' /bin/chvt

 =================================================================
 ==16206==ERROR: AddressSanitizer: heap-buffer-overflow on address

1. https://debbugs.gnu.org/34140

Ref: https://sourceware.org/bugzilla/show_bug.cgi?id=24114
Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
[commit title and description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-11-30 00:53:36 +01:00
Koen Vandeputte
e5c18dad14 toolchain/gcc: bump to 7.5.0
This updates the GCC to the next minor release which fixes +213 bugs.
Tested on ARMv6, ARMv7, MIPS R2, x86

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-11-19 14:59:03 +01:00
Yousong Zhou
69b9f0161e toolchain: gcc: enable sanitizers for glibc toolchain
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-10-24 11:40:00 +00:00
Rosen Penev
8f02ab1839 toolchain: Simplify libc selection
uClibc-ng is only needed for ARC. Simplify the conditions.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-10-21 13:28:18 +02:00
Kevin Darbyshire-Bryant
14881b49d8 toolchain/kernel-headers: don't use TARGET_CFLAGS
Kernel utilities (e.g. scripts/kconfig/conf) are being built to run on
the host system at this stage, therefore it makes no sense to use the
target system CC flags.  Use HOSTCFLAGS instead

While we're here rename KMAKE macro to HOST_KMAKE to make it even more
obvious that we're building for host.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-10-16 16:10:38 +01:00
Koen Vandeputte
68c50e1ca2 toolchain/gdb: bump to 8.3.1
GDB 8.3.1 brings the following fixes and enhancements over GDB 8.3:

PR c++/20020 (GDB segfault on printing objects)
PR gdb/24454 (nat/x86-linux-dregs.c failed assertion)
PR breakpoints/24541 (Incorrect evaluation of systemtap probes due to register being signed and probe expression assuming unsigned)
PR symtab/24545 (Symbol loading performance regression with cc1)
PR gdb/24592 (amd64->i386 linux syscall restart problem)
PR gdb/25009 (terminate called after throwing an instance of 'srchilite::ParserException')
PR gdb/25010 (Calls to error () can cause SIGTTOU to send gdb to the background)
PR breakpoints/25011 (Breakpoints on file reloads broken for PIE binaries)

This corrective release also brings the following testsuite fixes and
enhancements:

PR testsuite/25005 (gdb-caching-proc.exp takes a lot of time on skip_opencl_tests)
PR testsuite/25016 (Test-case failures for -pie)

GDB 8.3 includes the following changes and enhancements:

* Support for new native configurations (also available as a target configuration):
     - RISC-V GNU/Linux (riscv*-*-linux*)
     - RISC-V FreeBSD (riscv*-*-freebsd*)

* Support for new target configurations:
     - CSKY ELF (csky*-*-elf)
     - CSKY GNU/Linux (csky*-*-linux)
     - NXP S12Z ELF (s12z-*-elf)
     - OpenRISC GNU/Linux (or1k*-*-linux*)

* Native Windows debugging is only supported on Windows XP or later.

* The Python API in GDB now requires Python 2.6 or later.

* GDB now supports terminal styling for the CLI and TUI.
  Source highlighting is also supported by building GDB with GNU
  Highlight.

* Experimental support for compilation and injection of C++ source
  code into the inferior (requires GCC 7.1 or higher, built with
  libcp1.so).

* GDB and GDBserver now support IPv6 connections.

* Target description support on RISC-V targets.

* Various enhancements to several commands:
     - "frame", "select-frame" and "info frame" commands
     - "info functions", "info types", "info variables"
     - "info thread"
     - "info proc"
     - System call alias catchpoint support on FreeBSD
     - "target remote" support for Unix Domain sockets.

* Support for displaying all files opened by a process

* DWARF index cache: GDB can now automatically save indices of DWARF
  symbols on disk to speed up further loading of the same binaries.

* Various GDB/MI enhancements.

* GDBserver on PowerPC GNU/Linux now supports access to the PPR,
  DSCR, TAR, EBB/PMU, and HTM registers.

* Ada task switching support when debugging programs built with
  the Ravenscar profile added to aarch64-elf.

* GDB in batch mode now exits with status 1 if the last executed
  command failed.

* Support for building GDB with GCC's Undefined Behavior Sanitizer.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-10-15 16:11:28 +02:00
Koen Vandeputte
4d5b62263c toolchain/musl: bump to version 1.1.24
1.1.24 release notes

new features:
- GLOB_TILDE extension to glob
- non-stub catgets localization API, using netbsd binary catalog format
- posix_spawn file actions for [f]chdir (extension, pending future standard)
- secure_getenv function (extension)
- copy_file_range syscall wrapper (Linux extension)
- header-level support for new linux features in 5.2

performance:
- new fast path for lrint (generic C version) on 32-bit archs

major internal changes:
- functions involving time are overhauled to be time64-ready in 32-bit archs
- x32 uses the new time64 code paths to replace nasty hacks in syscall glue

compatibility & conformance:
- support for powerpc[64] unaligned relocation types
- powerpc[64] and sh sys/user.h no longer clash with kernel asm/ptrace.h
- select no longer modifies timeout on failure (or at all)
- mips64 stat results are no longer limited to 32-bit time range
- optreset (BSD extension) now has a public declaration
- support for clang inconsistencies in wchar_t type vs some 32-bit archs
- mips r6 syscall asm no longer has invalid lo/hi register clobbers
- vestigial asm declarations of __tls_get_new are removed (broke some tooling)
- riscv64 mcontext_t mismatch glibc's member naming is corrected

bugs fixed:
- glob failed to match broken symlinks consistently
- invalid use of interposed calloc to allocate initial TLS
- various dlsym symbol resolution logic errors
- semctl with SEM_STAT_ANY didn't work
- pthread_create with explicit scheduling was subject to priority inversion
- pthread_create failure path had data race for thread count
- timer_create with SIGEV_THREAD notification had data race getting timer id
- wide printf family failed to support l modifier for float formats

arch-specific bugs fixed:
- x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697)
- x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches)
- lseek broken on x32 and mipsn32 with large file offsets
- riscv64 atomics weren't compiler barriers
- riscv64 atomics had broken asm constraints (missing earlyclobber flag)
- arm clone() was broken when compiled as thumb if start function returned
- mipsr6 setjmp/longjmp did not preserve fpu register state correctly

Refreshed all patches.
Removed upstreamed.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-10-15 16:11:28 +02:00
Felix Fietkau
33dd522f24 build: fix menuconfig submenu sorting for gcc options
The hidden symbol GCC_USE_IREMAP was breaking it, move it to Config.version
instead

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-10-11 10:37:08 +02:00
Paul Spooren
d509463816 toolchain/gcc: switch to version 8 by default
Main motivation for this commit is the introduction of
`-ffile-prefix-map=` which alows reproducible build path.

Compile tested on Linux and macOS without errors on the following
targets:

 * ath79
 * imx6
 * brcm2708
 * brcm63xx
 * ixp4xx
 * ramips
 * sunxi
 * x86

Thanks to Andre for the iremap fixup.

Ref: https://reproducible-builds.org/docs/build-path/
Tested-by: Andre Heider <a.heider@gmail.com>
Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Paul Spooren <mail@aparcar.org>
[refactored into separate commit]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-10-09 09:13:44 +02:00
Paul Spooren
bd4d3cd101 toolchain,build: prefer -ffile-prefix-map for gcc-8+
-ffile-prefix-map=OLD=NEW is an alias for both -fdebug-prefix-map and
-fmacro-prefix-map and is available since GCC 8.

Co-Developed-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Paul Spooren <mail@aparcar.org>
[refactored into separate commit]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-10-09 09:13:44 +02:00
Hauke Mehrtens
9edd7edcda gcc: Fix ICE in GCC 9.2.0
This backports a fix from GCC master to fix a internal compiler
exception seen when compiling libjson-c with mips16 activated.

Fixes: FS#2455
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-09-20 19:27:25 +02:00
Hans Dedecker
2b342d01a2 glibc: update to latest 2.27 commit (BZ#23637)
5b4f7382af Add undef to fix test failure.
9456483fb2 Improve performance of memmem
373f8b06a3 Improve performance of strstr
4ec1b9e913 Fix strstr bug with huge needles (bug 23637)
ecd6271ed8 Speedup first memmem match
bba6b9288f Simplify and speedup strstr/strcasestr first match
7a4da6ef7a Improve strstr performance

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-09-17 22:17:45 +02:00
Hans Dedecker
ba305d12de glibc: update to latest 2.27 commit (BZ #24228, BZ #24744, BZ #24699)
5f0d2e0491 [AArch64] Add ifunc support for Ares
e6b7252040 aarch64,falkor: Use vector registers for memcpy
c74b884f70 aarch64,falkor: Ignore prefetcher tagging for smaller copies
0fc5934ebd aarch64/strncmp: Use lsr instead of mov+lsr
e0a0bd3acc aarch64/strncmp: Unbreak builds with old binutils
638caf3000 aarch64: Improve strncmp for mutually misaligned inputs
d5f45a29ff aarch64/strcmp: fix misaligned loop jump target
7f690fafad aarch64: Improve strcmp unaligned performance
40df047b3b aarch64: Fix branch target to loop16
062139f233 aarch64: Optimized memcmp for medium to large sizes
f3e2add213 aarch64: Use the L() macro for labels in memcmp
22bd3ab40e posix: Fix large mmap64 offset for mips64n32 (BZ#24699)
bdd16894aa aarch64: handle STO_AARCH64_VARIANT_PCS
0b48caab9a aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
949da7f2fd io: Remove copy_file_range emulation [BZ #24744]
f056ac8363 libio: do not attempt to free wide buffers of legacy streams [BZ #24228]
5f90e009b1 NEWS: add entries for bugs 22964, 24180, and 24531

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-09-08 22:18:17 +02:00
Hauke Mehrtens
b8b7d4cbca gcc: Update gcc 9.X to version 9.2.0
This updates the GCC version 9.X to version 9.2.0.
The removed patches are applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-08-19 01:02:43 +02:00
Hauke Mehrtens
c262daf308 musl: Fix CVE-2019-14697
musl libc through 1.1.23 has an x87 floating-point stack adjustment
imbalance, related to the math/i386/ directory. In some cases, use of
this library could introduce out-of-bounds writes that are not present
in an application's source code.

This problem only affects x86 and no other architectures.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-08-18 23:41:06 +02:00
Luiz Angelo Daros de Luca
0d0617ff14 musl: ldso/dlsym: fix mips returning undef dlsym
This happens only the second time a library is loaded by dlopen().
After lib1 is loaded, dlsym(lib1,"undef1") correctly resolves the undef
symbol from lib1 dependencies. After the second library is loaded,
dlsym(lib2,"undef1") was returning the address of "undef1" in lib2
instead of searching lib2 dependencies.

Using upstream fix which now uses the same logic for relocation time
and dlsym.

Fixes openwrt/packages#9297

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-08-17 16:57:32 +02:00
Felix Fietkau
7ec092e641 Revert faulty tree push
Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85)
Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e)
Revert "ramips: add preliminary support for WIO ONE" (085141dc5b)
Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539)
Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d)
Revert "toolchain: add autoconf-lean" (fdb30eed03)
Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-08-12 12:27:06 +02:00
Felix Fietkau
fdb30eed03 toolchain: add autoconf-lean
Use it to generate a more comprehensive configure sitefile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-08-12 11:43:39 +02:00
Rosen Penev
aa4f68ac91 toolchain: Remove powerpc64 libc restriction
Starting with version 1.1.15, musl supports powerpc64.

There are no known users of powerpc64 yet.

This is effectively a revert of 0de93311e1

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-08-05 23:22:26 +02:00
Hauke Mehrtens
b20156ba70 toolchain: fix gcc depends on kernel headers
GCC needs the kernel headers to compile.
Some GCC file includes asm/unistd.h which is provided by the kernel headers.
Normally the kernel headers build is very fast and ready before the gcc uses
it, but if it clones the kernel from a slow git repository it takes longer
and then it could be that the gcc already wants to use the kernel headers
before they are available. This patch fixes this problem by adding the
missing dependency.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
2019-08-05 23:22:26 +02:00
Koen Vandeputte
ed6139eb25 toolchain/musl: bump to version 1.1.23
new features:
- riscv64 port
- configure now allows customizing AR and RANLIB vars
- header-level support for new linux features in 5.1

major internal changes:
- removed extern __syscall; syscall header code is now fully self-contained

performance:
- new math library implementation for log/exp/pow
- aarch64 dynamic tlsdesc function is streamlined

compatibility & conformance:
- O_TTY_INIT is now defined
- sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile
- powerpc asm is now compatible with clang internal assembler

changes for new POSIX interpretations:
- fgetwc now sets stream error indicator on encoding errors
- fmemopen no longer rejects 0 size

bugs fixed:
- static TLS for shared libraries was allocated wrong on "Variant I" archs
- crash in dladdr reading through uninitialized pointer on non-match
- sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE
- getdents function misbehaved with buffer length larger than INT_MAX
- set*id could deadlock after fork from multithreaded process

arch-specfic bugs fixed:
- s390x SO_PEERSEC definition was wrong
- passing of 64-bit syscall arguments was broken on microblaze
- posix_fadvise was broken on mips due to missing 7-arg syscall support
- vrregset_t layout and member naming was wrong on powerpc64

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-07-31 16:51:46 +02:00
Kevin Darbyshire-Bryant
cbe08e6b56 toolchain/fortify-headers: Update to 1.1
Update fortify-headers to 1.1

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-07-28 09:43:49 +01:00
Rosen Penev
7fad676115 toolchain: Don't force GCC8 on ARC
This prevents overriding it to use GCC9.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[changed logic to not fall back on 7.4]
2019-07-07 13:02:05 +02:00
Christian Lamparter
75be34528d toolchain: musl: switch to https instead of git
Daniel Engberg requested switching over to https transport
since he seems to be stuck behind a corporate firewall that
does all the wrong things.

Rick Felker noted that this is "experimental and might break".
<https://www.openwall.com/lists/musl/2019/03/27/1>.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-06-22 13:17:47 +02:00
Joseph Benden
88c07c6552 toolchain: Add GCC 9.1.0 release
Most of the patches are copied over from GCC 8.3.

The following patches are backported from the GCC 9.X development branch:
toolchain/gcc/patches/9.1.0/970-recompute-dom-fast-queries-before-vn.patch
toolchain/gcc/patches/9.1.0/975-g++-ICE-with-generic-lambda.patch

The specs file changed with gcc 9, now it contains "%@{L*}" instead of
"%{L*}" in older GCC versions.

Signed-off-by: Joseph Benden <joe@benden.us>
2019-06-16 16:40:08 +02:00
Alexander Couzens
79948e9d61
replace links towards lede-project.org with openwrt.org
Modify VERSION_SUPPORT_URL VERSION_REPO
Replace BUGS variable in toolchain/gcc/common.mk

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2019-06-11 01:46:53 +02:00
Karl Pálsson
3b36aae9d5 toolchain: replace LEDE in help text
Use generic wording.

Signed-off-by: Karl Pálsson <karlp@etactica.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [fixed a -> á]
2019-06-10 11:31:52 +02:00
Hans Dedecker
f21c8577bb glibc: update to latest 2.27 commit (BZ #24531)
54ba8bcd423 Fix tcache count maximum (BZ #24531)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-05-23 14:17:21 +02:00
Hans Dedecker
5c742c86ef glibc: update to latest 2.27 commit
f9c3c12f336 Fix crash in _IO_wfile_sync (bug 20568)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-05-16 19:05:57 +02:00
Alexandru Ardelean
aecd0e09c9 toolchain/binutils: use default Host/Configure rule
This seems to have been omitted over-time.
Using the default Host/Configure seems to work fine.

The last patches to have touched this in a major way were ~10 years ago:
33a0eb3613 ("cosmetic & coherency fixes")
7eb1589875 ("build system refactoring in preparation for allowing
              packages to do host-build steps")

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-05-11 23:10:10 +02:00
Daniel Golle
9cb3a3255e toolchain/nasm: update to version 2.14
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-05-11 01:30:00 +02:00
Hans Dedecker
6b5346e7ed glibc: update to latest 2.27 commit (BZ #18035)
1961e5c7296 elf: Fix pldd (BZ#18035)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-04-29 16:14:33 +02:00
Koen Vandeputte
82625374ee toolchain/musl: update to version 1.1.22
new features:
- priority-inheritance mutexes
- membarrier syscall, pre-registration to use it, fallback emulation
- header-level support for new linux features in 4.19, 4.20, 5.0

major internal changes:
- complete, async-safe view of all existent threads as global list
- robust __synccall based on new thread list
- new dynamic TLS is installed synchronously at dlopen
- TLSDESC resolver functions no longer make bad ABI assumptions to call C
- resolved shared library dependencies are now recorded

compatibility & conformance:
- dependency-order shared library constructor execution
- sigaltstack no longer rejects SS_AUTODISARM, future flags
- FILE is now a complete (dummy) type in pre-C11 feature profiles
- setvbuf reports failure on invalid arguments
- TSVTX is exposed unconditionally in tar.h
- multithreaded set*id() no longer depends on /proc
- key slot reuse after pthread_key_delete no longer depends on /proc

bugs fixed:
- failures in multithreaded set*id() with concurrent thread creation/exit
- interposed free was called from invalid/inconsistent contexts
- freeaddrinfo performed invalid free of some partial results lists
- dlsym dependency order search had false negatives and false positives
- dn_skipname gave wrong results for labels with 8-bit content
- dcngettext clobbered errno, often breaking printing of error messages
- sscanf read past end of buffer under certain conditions (1.1.21 regression)
- pthread_key_create spuriously failed under race condition (1.1.21 regression)
- fdopendir wrongly succeeded with O_PATH file descriptors
- gets behaved incorrectly in presence of null bytes
- namespace violations in c11 tsd and mutex function dependencies
- incorrect prototype for makecontext (unimplemented)

arch-specfic bugs fixed:
- s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE

Extensively tested on dozens of devices, covering most popular architectures.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Dainis Jonitis <dainis.jonitis@ubnt.com>
Signed-off-by: Roman Yeryomin <roman@advem.lv>
2019-04-23 13:29:04 +02:00
Kevin Darbyshire-Bryant
13ffdf4482 toolchain/binutils: refresh patches
Fix hunk offset warnings.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-04-21 15:15:23 +01:00
Hans Dedecker
8f1cbef12e glibc: update to latest 2.27 commit [BZ #22964]
de9d4aa353 ja_JP locale: Add entry for the new Japanese era [BZ #22964]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-04-08 16:07:11 +02:00
Boris Krasnovskiy
4cf991bedb toolchain: ARM: Fix option conflict with multiarch
This problem exposed when compiling glibc, but applicable across the
board. gcc compiles runtime libraries for all supported architectures,
unless otherwise specified, and later selects applicable library based
-m[arch,cpu,*] options, thus these options should not be passed to gcc
as they break the compilation process.

Signed-off-by: Boris Krasnovskiy <borkra@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[modified so it only touches ARM - I'm too chicken, changed authors email]
2019-03-25 21:19:05 +01:00
Boris Krasnovskiy
8dcc108760 toolchain: ARM: Fix toolchain compilation for gcc 8.x
Set the toolchain's ARM CPU and FPU architectures by utilizing' gcc's
--with-cpu / --with-fpu configure options that: "Specify which cpu
variant the compiler should generate code for by default. cpu will
be used as the default value of the -mcpu= switch."

This will resolve the following kernel compilation failures under
gcc 8.x on ARM because the kernel wants to set (possibly conflicting)
optimization flags.

.../ccyVnmrs.s:204: Error: selected processor does not support `dmb ish' in ARM mode
.../ccyVnmrs.s:215: Error: architectural extension `mp' is not allowed for the current base architecture
.../ccyVnmrs.s:216: Error: selected processor does not support `pldw [r4]' in ARM mode

Because this is a big change, the .config and toolchain need to be
refreshed (as in removed and regenerated).

Reported-by: Ansuel Smith <ansuelsmth@gmail.com>
Reported-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [#1203]
Signed-off-by: Boris Krasnovskiy <borkra@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [extended commit message,
removed now-deprecated CPU_CFLAGS, changed author to gmail address]
2019-03-25 21:15:58 +01:00
Hans Dedecker
076c11a3aa glibc: update to latest 2.27 commit
1ab314d8d3 S390: Mark vx and vxe as important hwcap.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-03-22 10:57:05 +01:00
Daniel Engberg
8568dcd931 toolchain: Remove binutils 2.29 for ARC targets
Remove binutils 2.29 for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-03-20 18:23:39 +01:00
Daniel Engberg
da6ba853ce toolchain: Use binutils 2.32 by default for ARC
Use binutils 2.32 by default for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-03-20 18:23:39 +01:00
Daniel Engberg
075c76ea67 toolchain: Remove GCC 7.1 for ARC targets
Remove GCC 7.1 for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-03-20 18:23:39 +01:00
Daniel Engberg
343b36ffc7 toolchain: Use GCC 8.3.0 by default for ARC
Use GCC 8.3.0 by default for ARC targets
Includes a fix by Evgeniy Didin which fixes GCC version selection if
DEVEL isn't set

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-03-20 18:23:39 +01:00
Daniel Engberg
894a79d67b toolchain/binutils: Add binutils 2.32
Add binutils 2.32 to repo

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-02-26 23:20:04 +01:00
Daniel Engberg
40aec89b4c toolchain: Update to GCC 8.3.0
Update GCC to 8.3.0
Refresh patches
Allow GCC to be used for ARC
Source: https://github.com/openwrt/openwrt/pull/1803#issuecomment-462334890

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-02-26 23:20:04 +01:00
Daniel Engberg
700c0edc06 toolchain/gcc: Remove workaround for GCC 4.8
GCC 4.8 was removed a long time ago...

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-02-26 23:20:04 +01:00
Daniel Engberg
a0dfab220d toolchain/binutils: Remove 2.30
Remove binutils 2.30

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-02-17 19:22:39 +01:00
Hans Dedecker
e3311cb138 glibc: update to latest 2.27 commit [BZ #24180]
9f44fa22cb Add compiler barriers around modifications of the robust mutex list for pthread_mutex_trylock. [BZ #24180]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-02-09 21:07:16 +01:00
Christian Lamparter
917e6d772c toolchain/musl: update to version 1.1.21
<https://www.openwall.com/lists/musl/2019/01/21/8>
"This release makes improvements with respect to default thread stack
size, including increasing the default from 80k to 128k, increasing
the default guard size from 4k to 8k, and allowing the default to be
increased via ELF headers so that programs that need larger stacks can
be build without source-level changes, using just LDFLAGS.
Insufficient stack size for AIO threads on kernels that don't honor
the constant MINSIGSTKSZ is also fixed.

The glob core has been rewritten to fix inability to see past
searchable-but-unreadable path components, and to avoid excessive
stack usage and unnecessary syscalls. The tsearch AVL tree
implementation has also been rewritten for better size and
performance. The math library adds more native single-instruction
implementations for arm, s390x, powerpc, and x86_64.

Various bugs are fixed, including several possible deadlocks, one of
which was a new regression in 1.1.20."

detailed release notes can be found in the WHATSNEW file:
<http://git.musl-libc.org/cgit/musl/tree/WHATSNEW#n1989>

Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-02-05 19:35:40 +01:00
Hans Dedecker
420376ab50 glibc: update to latest 2.27 commit (BZ #24155,BZ #24097)
2ebadb6451 x86-64 memcmp: Use unsigned Jcc instructions on size [BZ #24155]
3a5ae8db68 x86-64 strnlen/wcsnlen: Properly handle the length parameter [BZ #24097]
2c016ffa24 x86-64 strncpy: Properly handle the length parameter [BZ #24097]
d8457edece x86-64 strncmp family: Properly handle the length parameter [BZ #24097]
55f8812858 x86-64 memset/wmemset: Properly handle the length parameter [BZ #24097]
efc3714845 x86-64 memrchr: Properly handle the length parameter [BZ #24097]
a4690969ed x86-64 memcpy: Properly handle the length parameter [BZ #24097]
6465327195 x86-64 memcmp/wmemcmp: Properly handle the length parameter [BZ #24097]
50117e00a1 x86-64 memchr/wmemchr: Properly handle the length parameter [BZ #24097]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-02-04 22:43:19 +01:00
Hans Dedecker
b88907e62a toolchain/gcc: backport FORTIFY patch to 5.5.0
Commit e61061a088 added support for hardening
options  in the toolchain. However this breaks the gcc5.5.0 compilation in
case FORTIFY_SOURCE is set different from FORTIFY_SOURCE_NONE as reported
in [1].
Fix this by backporting the upstream patch which fixes this in later gcc versions

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=61164

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-02-04 09:35:11 +01:00
protonesso
d018b55a18 update uClibc-ng from 1.0.30 to 1.0.31
Signed-off-by: protonesso <nagakamira@gmail.com>
2019-01-27 01:04:53 +01:00
Jo-Philipp Wich
ceb625439a musl: improve crypt() size hack
Instead of silently downgrading any non-MD5 crypt() request to DES,
cleanly fail with return NULL and errno = ENOSYS. This allows callers
to notice the missing support instead of the unwanted silent fallback
to DES.

Also add a menuconfig toolchain option to optionally disable the crypt
size hack completely. This can be probably made dependant on SMALL_FLASH
or a similar feature indicator in a future commit.

Ref: https://github.com/openwrt/openwrt/pull/1331
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-01-22 12:08:03 +01:00
Koen Vandeputte
4ef4ca4581 toolchain/gdb: bump to 8.2.1
PR build/23516 (gdb build error under msys+mingw: strip can't handle gdb-add-index.exe)
PR build/23623 (install-strip fails)
PR rust/23626 (gdb crashes in upstream rust nil-enum test)
PR rust/23650 (rust field name access error mentions "foo")
PR gdb/23663 (gdb 8.1.1: undefined rpl_stat function with musl toolchains)
PR python/23669 (gdb.execute("show commands") doesn't work)
PR python/23714 (Command repetition stops working after gdb.execute)
PR gdb/23838 (8.2 regression for invalid -data-directory)
PR gdb/23974 ("info os" crash when specifying invalid object)
PR gdb/23999 (SYMBOL_LANGUAGE assertion failure on AIX)
PR gdb/24003 (Error when binary searching CUs for a specific DIE when using DWZ)

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-01-07 17:09:06 +01:00
Hans Dedecker
b3664bc702 glibc: update to latest 2.27 commit (BZ #24018)
68c2930a56 NEWS: add entries for bugs 23275, 23861, and 23907
766e8fb932 intl: Do not return NULL on asprintf failure in gettext [BZ #24018]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-01-07 15:16:12 +01:00
Hans Dedecker
e9e63c5a9a glibc: update to latest 2.27 commit (BZ #24027, BZ #23927)
3981fc3453 malloc: Always call memcpy in _int_realloc [BZ #24027]
f6d0e8c36f Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861)
2794474c65 powerpc: Add missing CFI register information (bug #23614)
d8ca7a0c71 Fix _dl_profile_fixup data-dependency issue (Bug 23690)
f1e211096b inet/tst-if_index-long: New test case for CVE-2018-19591 [BZ #23927]
4e9f34e54f support: Implement <support/descriptors.h> to track file descriptors
e75481a7a7 support: Close original descriptors in support_capture_subprocess
0f79dc0be3 support_quote_string: Do not use str parameter name
6b2dd53aa0 support: Implement support_quote_string
50477165b9 malloc: Add another test for tcache double free check.
4b246928bd malloc: tcache double free check

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-01-01 22:31:43 +01:00
Hauke Mehrtens
af1aa07b07 gcc: update to version 7.4.0
This updates the GCC to the next minor release which fixes 178 bugs.
The two removed patches are included in gcc 7.4.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-12-15 15:25:03 +01:00
Hans Dedecker
a969e96e47 glibc: update to latest 2.27 commit (BZ #23927)
f6d0e8c36f Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861)
2794474c65 powerpc: Add missing CFI register information (bug #23614)
d8ca7a0c71 Fix _dl_profile_fixup data-dependency issue (Bug 23690)
f1e211096b inet/tst-if_index-long: New test case for CVE-2018-19591 [BZ #23927]
4e9f34e54f support: Implement <support/descriptors.h> to track file descriptors
e75481a7a7 support: Close original descriptors in support_capture_subprocess
0f79dc0be3 support_quote_string: Do not use str parameter name
6b2dd53aa0 support: Implement support_quote_string
50477165b9 malloc: Add another test for tcache double free check.
4b246928bd malloc: tcache double free check

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-12-14 16:18:32 +01:00
Hans Dedecker
476336fe66 glibc: update to latest 2.27 commit (BZ #23927)
9f433fc791 CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name [BZ #23927]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-12-06 11:47:36 +01:00
Hans Dedecker
1dcaef8410 glibc: update to latest 2.27 commit
1517dfb8aa Add an additional test to resolv/tst-resolv-network.c
1050634904 libanl: properly cleanup if first helper thread creation failed (bug 22927)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-22 10:11:22 +01:00
Hans Dedecker
69734416d2 glibc: update to latest 2.27 commit (BZ#23709,BZ#23822)
d8eee5ef55 x86: Fix Haswell CPU string flags (BZ#23709)
5cd5309d91 i64: fix missing exp2f, log2f and powf symbols in libm.a [BZ #23822]
1759ea197b conform: XFAIL siginfo_t si_band test on sparc64

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-05 14:22:17 +01:00
Hans Dedecker
70315fe144 glibc: update to latest 2.27 commit (BZ #23562, BZ #23275)
77b4b8231e signal: Use correct type for si_band in siginfo_t [BZ #23562]
5bdb6897fc Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-10-23 15:57:51 +02:00
Daniel Engberg
d27d87c910 toolchain/musl: Don't override optimization set by upstream
Don't override optimization set by upstream.
Provides a speed increase for internal (library), malloc and string
operations in musl.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
[add : to PKG_RELEASE release variable for consistency]
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-10-20 14:22:56 +01:00
Hans Dedecker
79982b26bb toolchain/glibc: update to 2.27+
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-10-16 11:37:59 +02:00
Daniel Engberg
fface27db8 binutils: Use 2.31.1 by default
Set binutils 2.31.1 as default

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-10-07 02:10:15 +02:00
Daniel Engberg
754a08e8d9 toolchain/binutils: Fix u-boot on some armhf platforms
Backport commit 3d9c8f6b3f033a6092425b7344647fb51dbed5c6
Without this binutils doesn't properly link u-boot

Source:
https://sourceware.org/bugzilla/show_bug.cgi?id=23571

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-10-07 02:10:15 +02:00
Daniel Engberg
969d052e96 toolchain/fortify-headers: Update to 1.0
Update fortify-headers to 1.0

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-10-07 02:10:15 +02:00
Felix Fietkau
dee8804de0 build: drop buildbot toolchain rebuild check when not using git
The check cleans and rebuilds the toolchain if it changed on update.
When building from a source tarball, it is reasonable to expect that
there will be no updates, so no rebuild check is necessary

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-24 11:03:20 +02:00
Christian Lamparter
1801e60390 toolchain/musl: update to version 1.1.20
This release introduces the ability to replace/interpose the allocator
(malloc) subject to certain restrictions, adds an experimental m68k
port, and makes notable improvements to stdio (application-provided
buffers), getaddrinfo (AI_ADDRCONFIG, support for IPv4-only kernel
configurations), the dynamic linker (safety against dlopen of
libraries using initial-exec TLS model, reclaiming unused memory on
FDPIC archs, better dladdr results), and handling of default thread
stack size (pthread_setattr_default_np now works more reliably).

Many bugs have been fixed, including potentially dangerous regressions
in iconv (only for new conversions to legacy encodings) and visibly
incorrect behavior in printf on non-x86 archs (%a format with
precision specifier), in getopt_long_only when short options are a
prefix for a long option, in complex arc-trig/hyperbolic functions, in
strftime and mktime (timezone-specific issues), and numerous
less-obvious places.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[altered commit msg a bit keeping it tight]
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-09-21 13:25:08 +02:00
Hans Dedecker
24d82c2e5c toolchain/glibc: update to latest 2.26 commit
c5c90b480e Fix segfault in maybe_script_execute.
174709d879 pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-09-13 11:06:30 +02:00
Koen Vandeputte
c24d02d154 toolchain/gdb: bump to 8.2
*** Changes in GDB 8.2

 Support for the following target has been added:

    RiscV ELF (riscv*-*-elf)

 Support for following targets and native configurations has been removed:

    m88k running OpenBSD (m88*-*-openbsd*)
    SH-5/SH64 ELF (sh64-*-elf*)
    SH-5/SH64 (sh*)
    SH-5/SH64 running GNU/Linux (sh*-*-linux*)
    SH-5/SH64 running OpenBSD (sh*-*-openbsd*)

 Various Python API enhancements
 Aarch64/Linux enhancements:

    SVE support.
    Hardware watchpoints improvements for entities stored at unaligned addresses.
        New "c" response to disable the pager for the rest of the current command.
        C expressions can now use _Alignof, and C++ expressions can now use alignof.
        Improved flexibility for loading symbol files.
        The 'info proc' command nows works on running processes on FreeBSD systems as well as core files created on FreeBSD systems.
        A new --enable-codesign=CERT configure option to automatically codesign GDB after build (useful on MacOS X).

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-09-07 17:21:24 +02:00
Syrone Wong
2fb95f7142 toolchain/gcc: update 8.x to 8.2.0
This release fixes LTO link-time performance problems and C++ bug introduced in GCC 8.1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2018-08-20 09:24:33 +02:00
Syrone Wong
713cee6463 toolchain/gcc: add config symbol to determine how to apply path remapping
Added boolean symbol for GCC 8 and higher, when we add newer GCC, we don't have
to modify rules.mk to keep things consistant.

Fixes: da9d760 ("rules.mk: replace iremap when using GCC 8")

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2018-08-20 09:24:29 +02:00
Hans Dedecker
7402cc7160 toolchain/glibc: update to latest 2.26 commit
c9570bd2f5 x86: Populate COMMON_CPUID_INDEX_80000001 for Intel CPUs [BZ #23459]
86e0996b1a x86: Correct index_cpu_LZCNT [BZ #23456]
cf6deb084b conform/conformtest.pl: Escape literal braces in regular expressions
b12bed3e06 stdio-common/tst-printf.c: Remove part under a non-free license [BZ #23363]
20dc7a909a libio: Add tst-vtables, tst-vtables-interposed
4b10e69b1f Synchronize support/ infrastructure with master
762e9d63d5 NEWS: Reorder out-of-order bugs
2781bd5a86 libio: Disable vtable validation in case of interposition [BZ #23313]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-08-07 14:28:48 +02:00
Koen Vandeputte
3df400c87e toolchain/gdb: bump to 8.1.1
GDB 8.1.1 brings the following fixes and enhancements over GDB 8.1:

 * PR gdb/22824 (misleading description of new rbreak Python function in GDB 8.1 NEWS file)
 * PR gdb/22849 (ctrl-c doesn't work in extended-remote)
 * PR gdb/22907 ([Regression] gdbserver doesn't work with filename-only binaries)
 * PR gdb/23028 (inconsistent disassemble of vcvtpd2dq)
 * PR gdb/23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regression)
 * PR gdb/23127 ([AArch64] GDB cannot be used for debugging software that uses high Virtual Addresses)
 * PR server/23158 (gdbserver no longer functional on Windows)
 * PR breakpoints/23210 ([8.1/8.2 Regression] Bogus Breakpoint address adjusted from 0xf7fe7dd3 to 0xfffffffff7fe7dd3)

GDB 8.1 includes the following changes and enhancements:

  * Breakpoints on C++ functions are now set on all scopes by default
    ("wild" matching);

  * Support for inserting breakpoints on functions marked with C++ ABI tags;

  * Target floating-point arithmetic emulation during expression evaluation
    (requires MPFR 3.1 or later);

  * Various Python Scripting enhancements;

  * Improved Rust support; in particular, Trait objects can now be inspected
    when debugging Rust code;

  * GDB no longer makes assumptions about the type of symbols without
    debugging information to avoid producing erroneous and often confusing
    results;

  * The 'enable' and 'disable' commands now accept a range of breakpoint
    locations;

  * New 'starti' command to start the program at the first instruction;

  * New 'rbreak' command to insert a number of breakpoints via a regular
    expression pattern (requires Python);

  * The 'ptype' command now supports printing the offset and size of
    the fields in a struct;

  * The 'gcore' command now supports dumping all the memory mappings
    ('-a' command-line option);

  * New shortcuts for TUI Single-Key mode: 'i' for stepi, and 'o' for nexti;

  * GDBserver enhancements:
    ** Support for transmitting environment variables to GDBserver;
    ** Support for starting inferior processes with a specified initial
       working directory;
    ** On Unix systems, support for globbing expansion and variable
       substitution of inferior command-line arguments;

  * Various completion enhancements;

  * The command used to compile and inject code with the 'compile' command
    is now configurable;

  * New '--readnever' command-line option to speed the GDB startup when
    debugging information is not needed;

  * Support for the following new native configurations:
    ** FreeBSD/aarch64 (aarch64*-*-freebsd*);
    ** FreeBSD/arm (arm*-*-freebsd*);

  * Support for the following new targets:
    ** FreeBSD/aarch64 (aarch64*-*-freebsd*);
    ** FreeBSD/arm (arm*-*-freebsd*);
    ** OpenRISC ELF (or1k*-*-elf)

  * Removed support for the following targets and native configurations:
    ** Solaris2/x86 (i?86-*-solaris2.[0-9]);
    ** Solaris2/sparc (sparc*-*-solaris2.[0-9]);

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-08-01 16:12:53 +02:00
Daniel Engberg
a93b6edfec toolchain/binutils: Add binutils 2.31.1
Add binutils 2.31.1 to repo

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-07-30 10:35:11 +02:00
Syrone Wong
139f99c058 toolchain/gcc: add GCC 8.1.0
Changes compared to GCC 7.x

001-revert_register_mode_search.patch dropped

The underlying issue is described at the end of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58139

It is fixed by the upstream commit:
3fa2798aa8

020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch dropped due to already upstream

100-PR-rtl-optimization-83496.patch dropped due to already upstream

910-mbsd_multi.patch
modified to fix ambiguous overloaded inform() call error

gcc/input.h
header: define UNKNOWN_LOCATION ((source_location) 0)

-        inform (0, "someone does not honour COPTS correctly, passed %d times",
-         honour_copts);
+        inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times",
+         honour_copts);

940-no-clobber-stamp-bits.patch dropped due to fixed upstream by another way
upstream commit: 87b2d547f8

950-cpp_file_path_translation.patch dropped, Both -fmacro-prefix-map and -ffile-prefix-map are added
to gcc 8.1.0, if I understand it correctly, we should use -fmacro-prefix-map
usage: -fmacro-prefix-map=@var{old}=@var{new}
upstream commit: 859b51f836

-iremap exists as a flag for a long time, for backward compatibility, I think we should keep the
variable name unchanged but change its value in rules.mk for gcc 8.x and higher.

Compile and run tested on x86_64

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2018-07-22 17:16:47 +02:00
Felix Fietkau
9b965d3b71 binutils: remove version 2.27
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-10 14:26:35 +02:00
Felix Fietkau
7c3e3eb098 binutils: update to version 2.30, resolves issues with LTO
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-10 14:26:35 +02:00
Felix Fietkau
55055aee50 binutils: backport an upstream fix for a linker bug that triggers with LTO
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-10 14:26:35 +02:00
Felix Fietkau
a5188eb258 nasm: disable LTO, remove host specific workarounds
The recent build failures on various platforms were apparently caused by
the fact that LTO build support in the configure script does not check
if it has a suitable version of gcc and simply assumes that gcc-ar is
available and can be used for intermediate files.

Since we really don't need to build nasm with LTO, simply disable it and
keep the whole build more portable

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-10 13:09:57 +02:00
Hauke Mehrtens
e204717ef2 toolchain/nasm: force ar and ranlib only on macOSX
On Debian 9 nasm does not build when we force it to use ranlib, for
macOSX this is needed. Only force this on macOSX and not on any other
OS, this should fix the build of nasm on Linux systems. On my Debian
system the nasm configure script selects  gcc-ranlib and gcc-ar instead.

Fixes: d3a7587eb9 ("toolchain/nasm: fix missing AR/RANLIB variables")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-07-08 14:22:54 +02:00
Ted Hess
328ddcf628 toolchain/nasm: Backport GCC8 compatibility fix from upstream repo
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-07-07 16:15:02 -04:00
Felix Fietkau
d3a7587eb9 toolchain/nasm: fix missing AR/RANLIB variables
Fixes build on macOS

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-07 14:53:26 +02:00
Ted Hess
0f543883cd toolchain: Replace YASM with NASM
Packages libx264 and ffmpeg are built with ASM options on x86 platforms.
The current libx264 version no longer builds with YASM and requires NASM.
ffmpeg 3.x can be built with either YASM or NASM however, furture 4.x versions
will require NASM.

Signed-off-by: Ted Hess <thess@kitschensync.net>
Acked-by: Rosen Penev <rosenp@gmail.com>
2018-07-05 10:17:06 -04:00
Kevin Darbyshire-Bryant
900d86766b toolchain: gdb: enable TUI
The GDB Text User Interface (TUI) is a terminal interface
which uses the curses library to show the source file,
the assembly output, the program registers and GDB
commands in separate text windows.

In other words it's a friendlier interface for idiots like me!

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-07-03 14:19:10 +01:00
Hans Dedecker
e705342bf8 toolchain/glibc: update to latest 2.26 commit
74d16a57a3 Check length of ifname before copying it into to ifreq structure.
3aaf8bda00 getifaddrs: Don't return ifa entries with NULL names [BZ #21812]
f958b45d52 Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]
81b994bd83 Fix parameter type in C++ version of iseqsig (bug 23171)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-07-02 14:31:18 +02:00
Matthias Schiffer
4b50854a60
musl: sys/socket.h: fix SO_PEERSEC value on MIPS
Differing from all other archs supported by musl, MIPS defines SO_PEERSEC
to 30 instead of 31.

Patch has also been submitted upstream.

Reported-by: Andrey Jr. Mlenikov <temnota.am@gmail.com>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-06-24 17:24:53 +02:00
Hans Dedecker
c22117a791 toolchain/glibc: update to latest 2.26 commit
7b52c8ae05 libio: Avoid _allocate_buffer, _free_buffer function pointers [BZ #23236]

Refresh patches

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-06-11 18:07:47 +02:00
Felix Fietkau
29e2f9ea5b gcc: remove support for version 6.3.0
It is obsoleted by gcc 7

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-06-05 09:27:33 +02:00
Hans Dedecker
a70a0a529f toolchain/glibc: update to latest 2.26 commit
4df8479e6b Add NEWS entry for CVE-2018-11236
a5bc5ec967 Add references to CVE-2018-11236, CVE-2017-18269
58ad5f8a64 Add a test case for [BZ #23196]
6b4362f2cb Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-05-30 20:39:29 +02:00
Hans Dedecker
43d70a7a9d toolchain/glibc: update to latest 2.26 commit
af7519f7b3 Fix path length overflow in realpath [BZ #22786]
365722ace6 Fix stack overflow with huge PT_NOTE segment [BZ #20419]
be056fae3b Fix blocking pthread_join. [BZ #23137]
02f0dd83a4 Fix signed integer overflow in random_r (bug 17343).
3241353ab2 i386: Fix i386 sigaction sa_restorer initialization (BZ#21269)
677e6d13e0 [BZ #22342] Fix netgroup cache keys.
71d339cb86 Fix i386 memmove issue (bug 22644).
31e2d15b80 Fix crash in resolver on memory allocation failure (bug 23005)
1f7c4748d6 getlogin_r: return early when linux sentinel value is set
7e7a5f0bcd resolv: Fully initialize struct mmsghdr in send_dg [BZ #23037]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-05-23 15:40:16 +02:00
Evgeniy Didin
83e9262703 uClibc-ng: update to 1.0.30
uClibc-ng 1.0.28 does not provide PF_VSOCK/AF_VSOCK definitions,
which causes iproute2 v4.16.0 compile errors.
In commit 57f2f80383b5 ("bits/socket.h: add missing defines")
necessary defines were included and iproute2 builds fine.
This commit now is part of uClibc-ng 1.0.30.
Lets update uClibc-ng to latest 1.0.30 version.

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: John Crispin <john@phrozen.org>
2018-05-22 07:20:26 +02:00
Yousong Zhou
f172456edc toolchain: gccgo: fix building gccgo compiler
Fixes FS#1498.  "gccgo -static" can fail for missing linker flag
-lgcc_eh caused by patch 850-use_shared_libgcc.patch

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 13:33:44 +08:00
Daniel Engberg
097f3aadec toolchain/binutils: Use xz tarballs where possible
Switch to xz for 2.29.1 and 2.30
These tarballs are about 10Mbyte smaller than bz2.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-04-29 18:58:20 +02:00
Johann Neuhauser
0370293cf3 glibc: switch from git to https
This is needed for working behind a http proxy.

Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.de>
2018-04-29 10:30:59 +02:00
Daniel Engberg
044e84fa8a toolchain/binutils: Remove old patches
Remove patches for arc-2016.09
Commit 8647f4f018
made these patches obsolete

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-04-26 13:20:31 +02:00
Hans Dedecker
ddb70e7298 toolchain/binutils: completely remove 2.28 support
Commit 15e9639159 removed support for
binutils version 2.28 but did not remove it as selectable item
from Binutils Version; let's remove this leftover as well.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-04-26 10:42:09 +02:00
Hyeonsik Song
594dbaa262 toolchain/glibc: unset LD_LIBRARY_PATH
Fix build error when use glibc

Signed-off-by: Hyeonsik Song <blogcin@naver.com>
2018-04-19 14:39:41 +02:00
Hans Dedecker
50433f313f glibc: update glibc to 2.26+ and switch to download from git
Switch glibc to 2.26+ [0] and download the sources from git which will it
make easier to update glibc in the future.

For an overview of the fixed bugs and CVE related fixes in 2.26+ see the
NEWS file [1]

[0] https://sourceware.org/git/?p=glibc.git;a=commit;h=d300041c533a3d837c9f37a099bcc95466860e98
[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=410f0d163145c1549fb73fdd96568f585b5bf62f;hb=refs/heads/release/2.26/master

Signed-off-by: Xinxing Hu <xinxing.huchn@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-03-13 18:26:40 +01:00
Hans Dedecker
3dee117a8a glibc: fix applying of patches
Commit f4d9d7a removed support for version specific patches; but it also
broke applying of patches in the patches glibc dir.
Fix the issue by setting PATCH_DIR to $(PATH_PREFIX)/patches similar as
musl/common.mk.

Signed-off-by: Xinxing Hu <xinxing.huchn@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-03-13 18:26:36 +01:00
Felix Fietkau
4fd8722056 toolchain/binutils: exclude .rej files when unpacking the tarball
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 21:29:24 +01:00
Felix Fietkau
15e9639159 toolchain/binutils: remove version 2.28
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 20:06:09 +01:00
Hauke Mehrtens
c7ced2f4a4 binutils: Use version 2.29.1 by default
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-12 20:04:45 +01:00
Felix Fietkau
e28551b103 toolchain/binutils: add support for version 2.30
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 20:01:07 +01:00
Felix Fietkau
61eee1adfb toolchain/gcc: switch to version 7 by default
Newer GCC versions are reported to improve code size on various ARM
devices, which is why newer u-boot versions require them now.
There have also been user reports of data corruption issues fixed on
MIPS by updating from GCC 5 to GCC 7.

This update was previously held up by these two MIPS compile issues,
which have since been fixed:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83496
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 12:19:23 +01:00
Felix Fietkau
16cec7ae67 toolchain/gcc: merge pending fix for miscompiled MIPS16 code issue (GCC PR 84790)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 12:19:07 +01:00
Felix Fietkau
fe98f2679c toolchain/gcc: fix a build failure on 7.3.0 with macOS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-12 12:19:03 +01:00
Hauke Mehrtens
87606e25af musl: update to version 1.1.19
This updates musl from a commit between 1.1.18 and 1.1.19 to the final
release of the version 1.1.19.
This mostly fixes bugs in musl.

The size of the uncompressed binary is increased by about 4 KB.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-11 23:42:38 +01:00
Felix Fietkau
1198204a6f toolchain: fix selecting older gcc versions for x86
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-27 09:01:01 +01:00
Felix Fietkau
25aaff9100 gcc: merge upstream fix for PR 83496 (fixes FS#814)
This bug was causing miscompiled code related to branch delay slots

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-26 19:13:55 +01:00
Felix Fietkau
38dc678166 gcc: refresh patches for version 7.3.0
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-26 19:13:55 +01:00
Felix Fietkau
7a97588bc6 toolchain/gcc: use version 7.x for x86 by default
This is needed for retpoline support, which mitigates the spectre
attacks.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:57:30 +01:00
Felix Fietkau
65ae02d602 toolchain/gcc: remove unused config symbol
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:57:24 +01:00
Hauke Mehrtens
e387a1b4e4 toolchain: gdb: activate on ARM64
gdb supports ARM64 since quite some time now, activate it there like on
other CPU architectures.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-10 20:15:52 +01:00
Hauke Mehrtens
bcd17ce9a3 binutils: assertion failure bfd/elfxx-mips.c:3860
With forced PIE and SSP support I ran into this assertion failure.
backport two patches to fix this problem from the binutils 2.28 branch.
This fix is already included in binutils 2.28.1 and 2.29.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-27 22:51:59 +01:00
Hauke Mehrtens
1a8523c835 toolchain: gcc: update 7.x to 7.3.0
This version still generates broken code in our setup for MIPS.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-27 19:54:52 +01:00
Julien Dusser
241e6dd3e9 build: cleanup SSP_SUPPORT configure option
Configure variable SSP_SUPPORT is ambiguous for packages (tor, openssh,
avahi, freeswitch). It means 'toolchain supporting SSP', but for toolchain
and depends it means 'build gcc with libssp'.

Musl no longer uses libssp (1877bc9d8f), it has internal support, so
SSP_SUPPORT was disabled leading some package to not use SSP.

No information why Glibc and uClibc use libssp, but they may also provide
their own SSP support. uClibc used it own with commit 933b588e25 but it was
reverted in f3cacb9e84 without details.

Create an new configure GCC_LIBSSP and automatically enable SSP_SUPPORT
if either USE_MUSL or GCC_LIBSSP.

Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2018-01-27 19:02:48 +01:00
Julien Dusser
55779569eb toolchain: add gcc configure default PIE and SSP
GCC supports starting version 5 --enable-default-ssp and starting version 6
--enable-default-pie.

It produces hardened binaries by default without dealing with package
compilation flags.

Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2018-01-27 19:02:47 +01:00
Alexandru Ardelean
ca7e8627db kernel-headers: adjust PKG_ variables when using git clone method
When using an external git clone for the kernel repo,
the build would fail because the build won't download
[via git] the kernel tarball.

This is because the `toolchain/kernel-headers` assumes
that the kernel would get downloaded via normal HTTP.
The reason for this is the `HostBuild` rule, which
calls the `Download/default` rule.

To use the `Download/default` we just need to conditionally
adjust some PKG_ vars.

We can safely use `LINUX_VERSION` as it was already adjusted
in the `kernel-version.mk` to avoid collisions with other tarballs.

Fixes:
 https://bugs.openwrt.org/index.php?do=details&task_id=503

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-01-27 16:46:45 +01:00
Evgeniy Didin
e47fe3284f toolchain/arc: update to the most recent release arc-2017.09
This commit finally bumps ARC tools to the most recent arc-2017.09 release version.

ARC GNU tools of version arc-2017.09 bring some quite significant changes like:
 * Binutils v2.29 with additional ARC patches
 * GCC 7.1.1 with additional ARC patches

More information on this release could be found here:
  https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.09-release

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: John Crispin <john@phrozen.org>
2018-01-27 16:46:44 +01:00
Evgeniy Didin
53021ce7f2 uClibc-ng: update to 1.0.28
Lets update uClibc-ng to 1.0.28 version for compatibility with gcc 7.x.

Since 1.0.22 there were significant patches for compatibility with gcc 7.x:
 https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=5b0f49037e8ea8500b05c8f31ee88529ccac4cee
 https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=cee0b058fa0b4501b289a2da365182d60314d746

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: John Crispin <john@phrozen.org>
2018-01-27 16:46:44 +01:00
Felix Fietkau
074fa8dfe4 musl: move BUILD_DIR_TOOLCHAIN/musl symlink to configure step
Avoids Build/Prepare quilt related hacks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-01-25 10:54:14 +01:00
Felix Fietkau
13a5cb9d2b musl: allow autorebuild
Autorebuild is disabled for the toolchain to avoid build-order issues.
However, rebuilding musl is safe, so exclude it from that restriction.
Avoids the need for manual cleaning on kernel header <-> libc API
changes like the ones introduced recently

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-01-25 10:54:14 +01:00
Hauke Mehrtens
4336efe14b kernel: use upstream patches for musl
This replaces the current patches used to make the kernel headers
compatible with musl with the version which was accepted upstream. This
is included in upstream kernel 4.15.
This was compile tested with iproute2 build on all supported kernel
versions with musl and one one with glibc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-20 22:11:33 +01:00
Christian Lamparter
6b175b7cd6 toolchain: musl: update to current HEAD
Changes:

72656157 fix fgetwc when decoding a character that crosses buffer boundary
a223dbd2 add reverse iconv mappings for JIS-based encodings
105eff9d generalize iconv framework for 8-bit codepages
a71b46cf fix malloc state corruption when ldso rejects loading a second libc
d060edf6 reformat cjk iconv tables to be diff-friendly, match tool output
c21051e9 prevent fork's errno from being clobbered by atfork handlers
a39f20bf add iso-2022-jp support (decoding only) to iconv
5b546faa add iconv framework for decoding stateful encodings
0df5b39a simplify/optimize iconv utf-8 case
9eb6dd51 handle ascii range individually in each iconv case
bff59d13 move iconv_close to its own translation unit
79f49eff refactor iconv conversion descriptor encoding/decoding
30fdda6c fix getaddrinfo error code for non-numeric service with AI_NUMERICSERV
67b29947 fix mismatched type of __pthread_tsd_run_dtors weak definition
13935337 s390x: use generic ioctl.h
4dc44ce8 microblaze: add statx syscall from linux v4.13
ffd048a0 aarch64: add extra_context struct from linux v4.13
6651ef1f add new tcp.h socket options from linux v4.13
14ced228 add new fcntl.h macros from linux v4.13
754f66af ioctl TIOCGPTPEER from linux v4.13
c35a8bf4 add SO_ getsockopt options from linux v4.13
5daaed6a s390x: add syscall number for s390_guarded_storage from linux v4.12
2dc6760f i386: add arch_prctl syscall number from linux v4.12
840d45be aarch64: add new HWCAP_* flags from linux v4.12
4c811227 add ARPHDR_VSOCKMON from linux v4.12
54f04d99 add new SO_ socket options from linux v4.12
9864f60e add statx syscall numbers from linux v4.11
c519658c add TCP_NLA_* enums from linux v4.11
ee3ae782 add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11
3eb82f73 add ETH_P_IBOE from linux v4.11
bd1560f6 update aarch64 hwcap.h for linux v4.11
cee73f0c add kexec_file_load syscall number on powerpc from linux v4.10
8f569557 add microblaze syscall numbers from linux v4.10
d8004030 add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missing
f5638c22 add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10
01369691 add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10
5c596ed8 add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10
6fc6ca1a adjust posix_spawn dup2 action behavior to match future requirements

Cc: Syrone Wong <wong.syrone@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-08 19:54:21 +01:00
Zoltan HERPAI
d2c06eb075 merge: etc: update remaining files
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
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