Commit Graph

1079 Commits

Author SHA1 Message Date
Matteo Croce
360fd10ac9 gcc: optionally build gccgo compiler
Tested with eglibc on x86 and armv7 so far

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 23:04:18 +02:00
Felix Fietkau
74c9b9cfeb toolchain: skip gcc/minimal for musl
No extra libc header build step is done, so no extra toolchain is needed
for preparing it.
This saves a significant amount of build time and disk space

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-07 15:13:40 +02:00
Alexey Brodkin
c5bbb55bab toolchain/gdb: Use correct folder name for ARC patches
Even though ARC tools were released as arc-2016.03
we have a little bit different version name for GDB.
That's because both Binutils and GDB come from the same
git repo but from different branches (and so different tags).

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

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

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

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

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

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-05-19 19:29:44 +02:00
Matthias Schiffer
3339f14e84
toolchain: gcc: fix build with GCC 6
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-05-08 23:37:40 +02:00
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
Hauke Mehrtens
336ad4c9aa toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
This is required to build net-snmp.

If that options is disabled in uClibc then net-snmp doesn't
detect sighold support on its configuration stage and so
defines HAVE_SIGHOLD as 0. That in its turn causes compilation of
the following branch of timerPause() in apps/snmpnetstat:
------------------>8----------------
    int             oldmask;
    oldmask = sigblock(sigmask(SIGALRM));
    if (!signalled) {
        sigpause(0);
    }
    sigsetmask(oldmask);
------------------>8----------------

Now in uClibc all 3 sigblock(), sigmask() and sigsetmask()
were removed back in 2005, see:
https://git.busybox.net/uClibc/commit/?id=5aa7aa7fa7ec2a0fe567ac0b2595b46add6f3594

And all that causes net-snmp linkage to fail this way:
------------------>8----------------
.libs/if.o: In function `intpr':
if.c:(.text+0x908): undefined reference to `sigmask'
if.c:(.text+0x90e): undefined reference to `sigblock'
if.c:(.text+0x924): undefined reference to `sigsetmask'
------------------>8----------------

If we enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL in uClibc then
branch with sighold is used in timerPause() and everything builds as
expected.

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

SVN-Revision: 49178
2016-04-17 12:49:30 +00:00
John Crispin
7409b5abfe toolchain/gdb: Update to 7.11
Update gdb to version 7.11

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

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

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

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

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

SVN-Revision: 48803
2016-02-26 10:55:59 +00:00
Felix Fietkau
64da662a88 toolchain/glibc: remove obsolete versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48780
2016-02-25 13:43:46 +00:00
Felix Fietkau
796968fc0f musl: update to version 1.1.14
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48762
2016-02-25 09:24:46 +00:00
John Crispin
7b821a5ae8 toolchain: add support of ARCv2 architecture
This change adds support of ARC ISAv2 processors in
OpenWRT toolchain.

In general gcc for ARC may compile code for both ISA versions
simultaneously but libgcc will be built only for default
architecture that's why it's necessary to specify --with-cpu
on gcc configuration.

As for uClibc we need to use different configurations for
different ARC ISAs.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 48739
2016-02-18 08:22:17 +00:00
Jo-Philipp Wich
5445a2ee1d toolchain: use latest glibc 2.21 and 2.22 revisions
Refresh patches and rework Makefile to fetch glibc from release branches
instead of relying on tarballs.

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

SVN-Revision: 48735
2016-02-17 08:44:49 +00:00
Jo-Philipp Wich
83cdf72271 toolchain: mark eglibc 2.19 broken
Upstream is dead and the last available version has multiple open CVEs.

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

SVN-Revision: 48734
2016-02-17 08:44:45 +00:00
John Crispin
9fbc71c31d toolchain/gdb: update to 7.10.1
Minor bugfix update, released in Dec 2015
https://www.gnu.org/software/gdb/news/

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

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

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

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

SVN-Revision: 48574
2016-01-30 20:15:11 +00:00
Felix Fietkau
3e9d2a847b glibc: switch to downloading version 2.22 via tarball instead of git to improve mirror support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48556
2016-01-29 23:19:31 +00:00
Felix Fietkau
b26d52d980 glibc: switch to version 2.22 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48555
2016-01-29 23:19:26 +00:00
Felix Fietkau
88df28aab1 toolchain: fix default toolchain selection for mips64 added in r47355
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SVN-Revision: 48444
2016-01-21 19:00:51 +00:00
Felix Fietkau
1981ee7d75 toolchain: Reverse glibc/eglibc conditionals to check for eglibc
This will make adding future glibc versions easier because the
conditionals won't have to be modified again.

Signed-off-by: Michael Marley <michael@michaelmarley.com>

SVN-Revision: 48399
2016-01-20 19:12:01 +00:00
Felix Fietkau
6ae4479190 gcc: drop version 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

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

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

SVN-Revision: 48387
2016-01-19 23:44:44 +00:00
Felix Fietkau
f6e4badfe4 toolchain: Add glibc 2.22
Signed-off-by: Michael Marley <michael@michaelmarley.com>

SVN-Revision: 48383
2016-01-19 22:58:51 +00:00