Commit Graph

1106 Commits

Author SHA1 Message Date
Ryan Mounce f67c22e0c2 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-10-05 21:38:54 +02:00
Felix Fietkau a999f91ca3 gcc: fix build error with macOS + Xcode 9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-05 21:16:25 +02:00
Etienne Haarsma dfecce60e6
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-05-30 01:32:21 +02:00
Christian Lamparter bce140ebb9 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-02-01 18:39:16 +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