summaryrefslogtreecommitdiff
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* Support for building an hardened OpenWRTJohn Crispin2015-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* musl: update to version 1.1.6Felix Fietkau2015-01-154-3555/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43977
* musl: merge changes from git, includes further getopt fixesFelix Fietkau2015-01-114-63/+3553
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43939
* binutils: run install twice instead of overwriting the final toolchain with ↵Felix Fietkau2014-12-271-1/+3
| | | | | | | | | | | 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
* binutils: enable plugin supportFelix Fietkau2014-12-271-0/+1
| | | | | | | | | | | | | | | | --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
* build: ensure tools are built before building the toolchainFelix Fietkau2014-12-131-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43693
* gcc: don't clobber stamp-bits with a symlink to itselfFelix Fietkau2014-12-123-0/+35
| | | | | | | | | | | | | | | | | 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
* uClibc: fix ptrace header files for powerpcFelix Fietkau2014-12-111-0/+96
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43617
* toolchain-headers: also copy asm-eva.h for mips(el) for 3.15+Jonas Gorski2014-12-011-0/+1
| | | | | | | | | 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
* toolchain: uClibc: fix compile with full language support enabled (fixes #13095)Felix Fietkau2014-11-301-0/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with CONFIG_BUILD_NLS=y, uClibc fails to compile with following message (or similar, according to https://dev.openwrt.org/ticket/13095): -snip- ... Warning: adding UNDEFINED entry for ar_AE Warning: adding UNDEFINED entry for am_ET Warning: adding UNDEFINED entry for af_ZA grep "^#define" extra/locale/locale_tables.h > extra/locale/lt_defines.h grep "^#define __lc" extra/locale/locale_collate.h >> extra/locale/lt_defines.h gcc extra/locale/gen_wctype.c -o extra/locale/gen_wctype -Os -Wall -D__UCLIBC_GEN_LOCALE -I./ extra/locale/gen_wctype.c: In function 'main': extra/locale/gen_wctype.c:684:2: warning: #warning fix the upper bound on the upper/lower tables... save 200 bytes or so [-Wcpp] for locale in en_US en_GB; do \ extra/locale/gen_wctype $locale > extra/locale/wctables.h || \ extra/locale/gen_wctype $locale.UTF-8 > extra/locale/wctables.h || \ extra/locale/gen_wctype $locale.iso8859-1 > extra/locale/wctables.h && break; \ done make[4]: *** [extra/locale/wctables.h] Error 1 -snap- This seems to also depend on the host system used, e.g. running a fresh checkout on a Debian 7.6 system triggered this error, while running the very same stuff on an Ubuntu 12.10 Quantal Quetzal does not trigger it. This is the configuration I used: -snip- buildbot@buildbot:~/openwrt-nls.git$ scripts/diffconfig.sh CONFIG_TARGET_ar71xx=y CONFIG_TARGET_ar71xx_generic=y CONFIG_TARGET_ar71xx_generic_Default=y CONFIG_DEVEL=y CONFIG_BUILD_NLS=y CONFIG_DOWNLOAD_FOLDER="/srv/downloads/downloads" -snap- In the ticket mentioned above, a patch is referenced which solves this issue. Note, that this issue is also present on 14.07. Signed-off-by: Michael Heimpold <mhei@heimpold.de> SVN-Revision: 43446
* toolchain: uClibc: fix build with CONFIG_BUILD_NLS selectedFelix Fietkau2014-11-302-0/+4
| | | | | | | | | | | | | | | | | Without this patch, selecting "Compile with full language support" results in the following question during build: ... Locale Support (UCLIBC_HAS_LOCALE) [Y/n/?] y Locale data > 1. All locales (UCLIBC_BUILD_ALL_LOCALE) (NEW) 2. Only selected locales (UCLIBC_BUILD_MINIMAL_LOCALE) (NEW) 3. Use Pre-generated Locale Data (UCLIBC_PREGENERATED_LOCALE_DATA) (NEW) choice[1-3]: Signed-off-by: Michael Heimpold <mhei@heimpold.de> SVN-Revision: 43445
* aarch64: add initial supportFlorian Fainelli2014-11-242-5/+14
| | | | | | | | Add initial support for the AArch64 architecture Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 43353
* eglibc: enforce use of autoconf-2.69Florian Fainelli2014-11-241-0/+13
| | | | | | | | | Since we updated autoconf in r42855 we also need to enforce its use while building eglibc to allow it to build successfully. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 43352
* musl: add getopt support for non-option argumentsJohn Crispin2014-11-191-0/+43
| | | | | | | | | | | | | | | musl libc doesn't support the GNU getopt extension to parse non-option arguments when the optstring starts with '-'. This extension is used by some utilities, notably iptables, that currently return with errors even with perfectly valid invocations. The patch adds the code needed by getopt.c and getopt_long.c to implement that extension. Signed-off-by: Gianluca Anzolin <gianluca@sottospazio.it> SVN-Revision: 43309
* toolchain: fix mips64 musl linker namesFlorian Fainelli2014-10-242-0/+44
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 43035
* musl: fix getopt optional argument processingFelix Fietkau2014-10-211-0/+20
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43009
* binutils: remove linaro version string, it confuses gcc lto support detectionFelix Fietkau2014-10-201-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43004
* gcc: update 4.9 to linaro 2014.10Felix Fietkau2014-10-204-27/+6
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43003
* toolchain: mark musl as non-brokenFelix Fietkau2014-10-191-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42977
* gcc: do not assume that the Mac OS X filesystem is case insensitiveFelix Fietkau2014-10-192-0/+28
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42973
* musl: update to version 1.1.5Felix Fietkau2014-10-192-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42971
* gcc: update, split and rework 4.9 musl patchesFelix Fietkau2014-10-1916-355/+531
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42970
* gcc: update, split and rework 4.8 musl patchesFelix Fietkau2014-10-1918-373/+638
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42969
* gcc: backport an upstream fix for extern vars with local weak definitionsFelix Fietkau2014-10-191-0/+21
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42962
* toolchain: fix binutils broken symlinkFelix Fietkau2014-10-181-1/+1
| | | | | | | | | | The Makefile for binutils creates a broken symlink to "binutils-linaro" in "trunk/build_dir/toolchain-<target>_gcc-4.9-linaro_uClibc-0.9.33.2". Modify the Makefile to point the symlink to the correct directory. Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 42954
* uClibc: Backport uClibc master git commit ↵John Crispin2014-10-141-0/+269
| | | | | | | | | | | fd355bc1dbcb794ae1abf0fad1459e28d8567ba0 (eventfd.h: Use new "bits/" scheme for arch-specific flags) This patch adds missing architecture-specific headers for use with eventfd(2). Fixes #16679. Signed-off-by: Luis Dallos <ld@nkvd.ignorelist.com> SVN-Revision: 42916
* gcc: remove version 4.8.0Felix Fietkau2014-10-0517-864/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42777
* binutils: remove old versionsFelix Fietkau2014-10-0513-271/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42776
* Fix broken implementation of NOEXECSTACK flag for MIPS architectures for ↵Felix Fietkau2014-10-052-0/+235
| | | | | | | | | | | | gcc-linaro-4.8 This patch ensures that libgcc_s.so properly honours the NOEXECSTACK flag for MIPS builds, when gcc-linaro-4.8 or 4.9 is the chosen C compiler. Signed-off-by: Andrew McDonnell <bugs@andrewmcdonnell.net> Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42769
* gcc: gcc 4.9.x disable libsanitizeFelix Fietkau2014-10-052-0/+2
| | | | | | | | | | | | | | | | | gcc 4.9.x enables building of libsanitize - libsanitize needs some headers that are not available in uclibc (netrom/netrom.h) according to buildroot project: - build fail with musl - need wordexp with uclibc which increases uclibc size http://git.buildroot.net/buildroot/commit/?id=5f4d658d888b539de9a6247ae5b1a0999de5d4ec http://git.buildroot.net/buildroot/commit/?id=554e29e267e6b36a0fd78c82cbad2c82d939eb7f Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de> SVN-Revision: 42767
* gcc: add 4.9-linaro based on the 2014.09 releaseFelix Fietkau2014-09-3020-1/+936
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42706
* binutils: select linaro 2.24 version by defaultFelix Fietkau2014-09-301-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42705
* binutils: update -linaro to 2.24.0-2014.09Felix Fietkau2014-09-301-3/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42704
* toolchain: remove another bogus copy of libiberty.aFelix Fietkau2014-09-201-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42624
* Kconfig: Aesthetic/formatting fixes to toolchain/Config.in.Hauke Mehrtens2014-09-131-14/+16
| | | | | | | | | | | | Non-functional edits to toolchain/Config.in: * fix spelling mistake ("us" -> "is") * Overly long help lines shortened to avoid line wrap * Standardize help info to use tab(s), then two spaces Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> SVN-Revision: 42518
* toolchain/binutils: do not install host libiberty.a into target lib dirJonas Gorski2014-09-071-0/+1
| | | | | | | | | | | Binutils target build will pick it up and break build on e.g. arm: libtool: link: arm-openwrt-linux-uclibcgnueabi-gcc -shared .libs/archive.o .libs/archures.o .libs/bfd.o .libs/bfdio.o .libs/bfdwin.o .libs/cache.o .libs/coffgen.o .libs/corefile.o .libs/format.o .libs/init.o .libs/libbfd.o .libs/opncls.o .libs/reloc.o .libs/section.o .libs/syms.o .libs/targets.o .libs/hash.o .libs/linker.o .libs/srec.o .libs/binary.o .libs/tekhex.o .libs/ihex.o .libs/stabs.o .libs/stab-syms.o .libs/merge.o .libs/dwarf2.o .libs/simple.o .libs/compress.o .libs/verilog.o .libs/elf32-arm.o .libs/elf32.o .libs/elf-nacl.o .libs/elf-vxworks.o .libs/elf.o .libs/elflink.o .libs/elf-attrs.o .libs/elf-strtab.o .libs/elf-eh-frame.o .libs/dwarf1.o .libs/elf32-gen.o .libs/cpu-arm.o -L/mnt/dl/slave/at91/build/staging_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/usr/lib -L/mnt/dl/slave/at91/build/staging_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/lib -L/mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/usr/lib -L/mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib -L/mnt/dl/slave/at91/build/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/binutils-2.24/bfd/../libiberty/pic -liberty -lz -march=armv5te -mtune=arm926ej-s -mfloat-abi=soft -Wl,-lc -Wl,--as-needed -Wl,-lm -Wl,--no-as-needed -Wl,-soname -Wl,libbfd-2.24.so -o .libs/libbfd-2.24.so /mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/libiberty.a: could not read symbols: File format not recognized Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 42430
* toolchain/musl: update to version 1.1.4Felix Fietkau2014-08-022-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41954
* octeon: select gcc 4.6 by defaultJohn Crispin2014-07-272-3/+3
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41843
* toolchain/gcc: pass proper flags for arm hard float buildLuka Perkov2014-07-141-0/+7
| | | | | | | | | | | This fixes eglibc build failure. More information about the bug can be found on the link below. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61796 Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 41657
* toolchain: switch back to uClibc for octeon, it actually works nowFelix Fietkau2014-07-101-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41576
* uClibc: fix copy&pasted typo in the stat fixFelix Fietkau2014-07-101-9/+9
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41573
* uClibc: add a whole bunch of mips64 related fixesFelix Fietkau2014-07-1012-10/+1004
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41570
* gcc: backport a fix for issues with accessing weak data referencesFelix Fietkau2014-07-101-0/+42
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41569
* toolchain: only default eglibc for octeon and not all of mips64John Crispin2014-07-103-6/+6
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41559
* musl: add sgidefs.hFelix Fietkau2014-06-291-0/+73
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41399
* musl: add a few more glibc types to includesFelix Fietkau2014-06-291-0/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41398
* musl: remove fake glibc definesFelix Fietkau2014-06-291-8/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41396
* musl: update to version 1.1.3Felix Fietkau2014-06-292-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41394
* eglibc: temporarily disable parallel build until fixedFelix Fietkau2014-06-291-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41374
* toolchain: make the default eglibc selection work even if TOOLCHAINOPTS is ↵John Crispin2014-06-192-7/+11
| | | | | | | | | | not enabled default config build fail on octeon without this. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41273