Commit Graph

1127 Commits

Author SHA1 Message Date
Felix Fietkau
f62f4b3c5c build: stop overriding STAGING_DIR_HOST for toolchain build
This causes various issues in other places that assume that host
binaries are staged in STAGING_DIR_HOST.
Since all the right places use HOST_BUILD_PREFIX, override that instead.
This fixes some issues with quilt on toolchain dirs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Alexey Brodkin
34e8393019 toolchain/arc: update to the most recent release arc-2016.09
arc-2016.09 is the most recent toolchain for ARC cores and
it is based on top of upstream Binutils 2.27 and GCC 6.2.1.

With updated major version of GCC we copied all GCC 6.x patches
for ARC as well as Bintils 2.27 patches.

Note that toochain sports ARCv4 ABI and so must be used
with 4.8+ Linux kernels. Even though it will build v4.4 kernel
perfectly fine on attempt to run user-space apps they won't
work with older kernel. That said previuosly sent RFC patches with
Linux kernel update are required:
 [1] https://patchwork.ozlabs.org/patch/726686/
 [2] https://patchwork.ozlabs.org/patch/726687/

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-05-02 15:17:30 +02:00
Daniel Engberg
31be46e169 toolchain/binutils: Add binutils 2.28
Add binutils 2.28 to repo

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-03-20 08:23:58 +01:00
Jonas Gorski
5e3fb70094 toolchain: unbreak glibc on MIPS
Binutils recently updated the ABI version to 5, which broke glibc, as it
refuses to load anything > 3. Upstream reverted the ABI version update,
so backport the commit.

Fixes the following error on boot:

/bin/sh: error while loading shared libraries: /lib/libcrypt.so.1: ELF file ABI version invalid
[    0.920077] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[    0.920077]
[    0.929450] Rebooting in 1 seconds..

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-27 12:15:45 +01:00
Felix Fietkau
f44ae19e15 build: fix the toolchain rebuild check
- Check for changes in toolchain/ only
- Only replace the stamp file if it was changed
- Fix dependencies for staging dir prepare
- Move the stamp file to TOOLCHAIN_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-16 08:13:16 +01:00
Felix Fietkau
bd3a5ca190 toolchain: force a full rebuild on buildbot if the toolchain changed
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 16:26:04 +01:00
Felix Fietkau
6c6167621f glibc: update to version 2.25
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 21:18:42 +01:00
Felix Fietkau
bf867f7f84 glibc: override default rpath to /lib:/usr/lib
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 21:18:42 +01:00
Felix Fietkau
f4d9d7a26b glibc: use default PATCH_DIR
Version configuration is gone, so version specific patch directories are
not necessary either.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 20:34:26 +01:00
Alexey Brodkin
a3408a5271 toolchain/uclibc: Bump version to 1.0.22
Important change was made in 1.0.18: all sub-libs were merged
in one and only libc similarly to musl.

See [1] for more details.

To support that we had to remove refences to those sub-libs like
libpthread, libcrypt, libdl, libm, libutil etc.

[1] http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=29ff9055c80efe77a7130767a9fcb3ab8c67e8ce

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-02-11 15:38:39 +01:00
Alexey Brodkin
eed6c85b7f toolchain/uclibc: Fix unmanned configuration with "V=s"
Currently on attempt to configure uClibc with "V=s" user is prompted
to answer on configuration questions. Major inconvenience here is
build procedure get paused until user answers all questions.
That happens because not all symbols are defined in our .config.

Solution is as simple as usage of "olddefconfig" target instead of
simple "oldconfig". In that case default values get silently set
for symbols not defined by our .config explicitly.

We haven't noticed that subtle issue before because without "V=s"
what we do is "make oldconfig < /dev/null" which automatically
answers all questions :)

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-02-11 15:38:32 +01:00
Felix Fietkau
b2c66724d7 toolchain: remove separate prepare/ step
It was a leftover from an old obsoleted dependency chain

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 15:38:16 +01:00
Felix Fietkau
38fcd2a865 build: remove libc version config code
We only support one version per libc type

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 15:37:55 +01:00
Felix Fietkau
b96566aad4 build: drop circular dependency
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-10 11:05:57 +01:00
Felix Fietkau
0f5d17a7e6 toolchain/gcc: parallelize make install
If the staging dir was deleted, the build needs to recompile some files.
This change speeds up this corner case significantly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:49:34 +01:00
Felix Fietkau
43332f513b toolchain/musl: parallelize make install
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:49:33 +01:00
Etienne Haarsma
fa85060698 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-02-07 17:18:07 +01:00
Felix Fietkau
b648e1c07f binutils: remove 2.25.1 support and leftovers of older versions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:16:12 +01:00
Daniel Engberg
36cca3e436 toolchain/binutils: Switch to 2.27 as default version
Use 2.27 as default which is the current relese.
Makes it easier to get support and submit patches upstream if needed.

Tested on ar71xx, mt7621, kirkwood (arm)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-02-07 17:16:11 +01:00
Jo-Philipp Wich
46b02131d7 Revert "uClibc-ng: update to 1.0.21"
This reverts commit dde5c729ec.

The uClibc update was completely untested, does not build with Kernel 4.4 and
did not adjust the configuration to predeclare new config symbols.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-06 13:04:33 +01:00
Felix Fietkau
70973dd30d gcc: remove obsolete uclibc patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 16:14:10 +01:00
Felix Fietkau
f204e0fc46 toolchain/gcc: reduce source directory size by about 420 MB
Remove gcc testsuite, ada and libjava (if not selected)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 15:18:38 +01:00
Etienne Haarsma
dde5c729ec uClibc-ng: update to 1.0.21
Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
2017-01-26 18:07:37 +01:00
Felix Fietkau
131db366a3 build: remove separate /install step for host builds
Reduces the number of recursive make invocations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-18 23:57:09 +01:00
Christian Lamparter
a8a5cb9595 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-01-16 20:40:00 +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