Commit graph

972 commits

Author SHA1 Message Date
Steven Barth
1877bc9d8f gcc/musl: rework SSP-support
Make musl provide libssp_nonshared.a and make GCC link it unconditionally
if musl is used. This should be a no-op if SSP is disabled and seems to be
the only reliable way of dealing with SSP over all packages due to the mess
that is linkerflags handling in packages.

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

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

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

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

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

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

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

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

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

So in musl builds no timezone is ever set.

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

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

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

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

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

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

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

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

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

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

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

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

SVN-Revision: 45754
2015-05-25 23:11:01 +00:00
Felix Fietkau
f0150c65d0 uClibc: elf: Add STT_GNU_IFUNC from glibc
perf in upstream Linux kernel 3.17 onwards expects STT_GNU_IFUNC
replicate it from glibc

Patch cherry-picked from:
http://lists.busybox.net/pipermail/uclibc/2015-February/048825.html

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45752
2015-05-25 22:59:04 +00:00
John Crispin
6ab2bcfe72 uClibc: add signal info for seccomp related SIGSYS
uClibc doesn't define signal info for the SIGSYS signal which is issued
in case of hitting a syscall prohibited by seccomp.
This is sad as it makes debugging seccomp filter policies impossible on
some architectures (at least ARM and PowerPC, maybe also others) which
do not coincidentally set si_value.sival_int as the syscall number.

To fix this, import the definitions and macros needed from glibc.

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

SVN-Revision: 45720
2015-05-23 15:26:19 +00:00
Felix Fietkau
4c5f965c74 toolchain: change default emulation for mips64 (octeon) to n64
fixes several ld errors reported by buildbot:
http://buildbot.openwrt.org:8010/broken_packages/octeon/mdnsresponder/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/luasocket/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/luasec/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/openvswitch/compile.txt
http://buildbot.openwrt.org:8010/broken_packages/octeon/prosody/compile.txt

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

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

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

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

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

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

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

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

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

SVN-Revision: 45091
2015-03-28 13:38:45 +00:00
John Crispin
b98c198883 toolchain: fix eglibc build when TOOLCHAINOPTS is not set
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45015
2015-03-26 10:59:04 +00:00
John Crispin
384eb8ce7d uclibc: add LD_PRELOAD support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45004
2015-03-26 10:57:44 +00:00
Felix Fietkau
2efb6be426 toolchain/glibc: remove broken eglibc 2.15 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44976
2015-03-25 14:29:23 +00:00
Felix Fietkau
793a451584 toolchain: remove obsolete references to the cris architecture
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

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

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

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

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

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

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

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

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

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

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

SVN-Revision: 44703
2015-03-12 20:29:50 +00:00
John Crispin
3e2f578353 toolchain: The glorious return of glibc, ver 2.21
It's the eglibc packaging with a bit of spit-polishing. And testing. :-)

[blogic: merged glibc and eglibc into 1 and made eglibc a glibc variant]

Signed-off-by: Jeff Waugh <jdub@bethesignal.org>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44701
2015-03-12 19:50:57 +00:00
John Crispin
0e6ecf707d uClibc: fix syscall() for syscalls with 6 arguments on PowerPC
Patch from the uClibc master.

Fixes the package fastd on PowerPC.

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

SVN-Revision: 44694
2015-03-12 10:07:01 +00:00
Nicolas Thill
d48735dd85 toolchain/gcc: fix an ICE on ARM (PR58595)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595

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

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

SVN-Revision: 44164
2015-01-28 12:06:05 +00:00
John Crispin
491f3fc048 Support for building an hardened OpenWRT
Introduce configuration options to build an "hardened" OpenWRT.

Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO
have been introduced.

uClibc makefile now automatically detects if SSP support is necessary.

hostapd makefile has been fixed to use "^" as sed separator since
using a comma was problematic when using "-Wl,-z,now" and the like in
TARGET_CFLAGS.

Currently enabling SSP on user space depends on enabling SSP kernel
side, this is due to the fact that TARGET_CFLAGS are used to build
kernel modules (at least). Suggestions on how to avoid this are welcome.
Using "select" instead of "depends on" doesn't seem to work with choice
entries.

Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of
the available packages.
Needs to be tested with GCC 4.9 and the remaining packages.
PIE not currently included.

Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me>

SVN-Revision: 44005
2015-01-17 14:31:30 +00:00
Felix Fietkau
8e20e09d1b musl: update to version 1.1.6
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

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

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

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

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

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

    sorry - this program has been built without plugin support

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

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

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

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

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

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

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

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

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

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

SVN-Revision: 43460
2014-12-01 13:27:06 +00:00