Commit Graph

974 Commits (f4767891c08b80490a748eb07892cf4dd3c2a4eb)

Author SHA1 Message Date
Steven Barth 2738526a16 toolchain: add fortify-headers, enable FORTIFY_SOURCE by default
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46117
9 years ago
Jonas Gorski 2086f7284c uclibc: fix _HAS_SSP replacement regex
A dot was dropped, making it match too much.

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

SVN-Revision: 46116
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Steven Barth 2fb09857e1 uclibc: unbreak after enabling SSP
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46034
9 years ago
Steven Barth 19810a5145 hardening: enable regular SSP support by default
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46020
9 years ago
Felix Fietkau 41c53d8f0c musl: update to version 1.1.10+git
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46001
9 years ago
Felix Fietkau a778060392 toolchain: switch to musl by default, except for mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45995
9 years ago
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
9 years ago
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
9 years ago
Felix Fietkau 3d35dfb782 Revert "musl: update to version 1.1.9" (r45754)
The current version seems to be broken on MIPS.

SVN-Revision: 45879
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Felix Fietkau 64661de100 gcc: add some size optimization patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45664
9 years ago
Nicolas Thill 6a5a7db085 uClibc: backport sync_file_range fixes (closes: #19350)
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 45249
9 years ago
Felix Fietkau 4ecc5c8ffe uclibc: backport an upstream i386 syscall fix
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45137
9 years ago
Felix Fietkau b97c3b0249 uClibc: add another missing backport patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45102
9 years ago
Felix Fietkau 19150d393d toolchain/uClibc: backport madvise and fallocate (fixes #19336)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45100
9 years ago
Felix Fietkau 5809da3c05 toolchain/musl: update to the latest version, adds aarch64 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45091
9 years ago
John Crispin b98c198883 toolchain: fix eglibc build when TOOLCHAINOPTS is not set
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45015
9 years ago
John Crispin 384eb8ce7d uclibc: add LD_PRELOAD support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45004
9 years ago
Felix Fietkau 2efb6be426 toolchain/glibc: remove broken eglibc 2.15 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44976
9 years ago
Felix Fietkau 793a451584 toolchain: remove obsolete references to the cris architecture
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44964
9 years ago
Felix Fietkau 85a3512150 toolchain: remove obsolete !avr32 dependency
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44962
9 years ago
Felix Fietkau 3a52795531 uClibc: remove avr32 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44961
9 years ago
Felix Fietkau 755a90344e binutils: remove version 2.20.1 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44960
9 years ago
Felix Fietkau 76bf68fa52 binutils: remove defunct binutils default version selection for aarch64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44958
9 years ago
Felix Fietkau fc2bd07260 gcc: remove 4.4.7 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44957
9 years ago
Felix Fietkau a80c80580c toolchain/kernel-headers: remove an obsolete patch directory
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44871
9 years ago
Felix Fietkau 808c460250 toolchain: remove leftovers from old llvm-gcc experiments
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44783
9 years ago
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
9 years ago
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
9 years ago
John Crispin 1d2c7dd65e glibc: remove accidentally commited folder
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44703
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
10 years ago
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
10 years ago
Felix Fietkau 8e20e09d1b musl: update to version 1.1.6
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43977
10 years ago
Felix Fietkau 63176d7e1e musl: merge changes from git, includes further getopt fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43939
10 years ago
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
10 years ago
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
10 years ago
Felix Fietkau 35a9cb833c build: ensure tools are built before building the toolchain
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43693
10 years ago
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
10 years ago