Commit Graph

84 Commits

Author SHA1 Message Date
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
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
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01: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
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
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
f7939f5e74 gcc: remove version 4.6, it is no longer needed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47443
2015-11-10 21:10:53 +00:00
Felix Fietkau
8b5d644bb3 toolchain: add support of ARC architecture
This includes binutils, gcc, gdb and uClibc-ng.

Latest release of ARC gcc (as of today it is "arc-2015.06")
is based on upstream gcc 4.8.4.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc

Latest release of ARC binutils (as of today it is "arc-2015.06")
is based on upstream binutils 2.23.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06

Latest release of ARC GDB (as of today this is "arc-2015.06-gdb")
is based on upstream gdb 7.9.1.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb

Note that for binutils and gdb that come from unified git repository
(which is the case for upstream binutils/gdb today) we need to disable
building of gdb in binutils and binutils in gdb hence in binutils:
------>8------
--disable-sim
--disable-gdb
------>8------

and in gdb:
------>8------
--disable-binutils
--disable-ld
--disable-gas
------>8------

Also in gdb we disable sim because if the following breakage while
building with it:
------------>8------------
/usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \
        -mono -fast -pbb -switch sem5-switch.c \
        -cpu a5f -infile ./mloop5.in \
        -outfile-suffix 5
unknown option: bash
Makefile:699: recipe for target 'stamp-5mloop' failed
make[7]: *** [stamp-5mloop] Error 1
------------>8------------

Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

SVN-Revision: 47438
2015-11-10 12:03:59 +00:00
Felix Fietkau
2e29046a9e uClibc: mark as broken for all architectures that use musl by default
We will only support uClibc for targets that actually need it.

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

SVN-Revision: 47401
2015-11-07 12:11:44 +00:00
Felix Fietkau
36d3c4bdbf toolchain: use glibc instead of uclibc for mips64 by default - uclibc is still buggy there in a few places
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47355
2015-11-02 18:12:01 +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
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
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
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
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
Florian Fainelli
dd8d7188ee aarch64: add initial support
Add initial support for the AArch64 architecture

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 43353
2014-11-24 06:33:13 +00:00
Felix Fietkau
939d0869cc toolchain: mark musl as non-broken
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42977
2014-10-19 21:57:28 +00:00
Hauke Mehrtens
40dde1ca67 Kconfig: Aesthetic/formatting fixes to toolchain/Config.in.
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
2014-09-13 20:26:51 +00:00
Felix Fietkau
9c51ab13d3 toolchain: switch back to uClibc for octeon, it actually works now
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41576
2014-07-10 20:48:31 +00:00
John Crispin
1aeb77b9ee toolchain: only default eglibc for octeon and not all of mips64
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41559
2014-07-10 19:16:09 +00:00
John Crispin
c911cdcc04 toolchain: use different defaults for octeon
force eglibc and gcc4.6+linaro for octeon

Signed-off-by: Martin Fäcknitz <faecknitz@hotsplots.de>

SVN-Revision: 41251
2014-06-18 10:07:53 +00:00
Felix Fietkau
e37c444450 musl: move the dependency on BROKEN to the right config symbol
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39754
2014-02-26 12:13:02 +00:00
Imre Kaloz
ad2cd7878c enable using soft-float regardless of having a fpu
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 38939
2013-11-29 09:24:07 +00:00
Imre Kaloz
9fa3c68938 move menuconfig options into separate files
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 38895
2013-11-22 14:30:40 +00:00
Florian Fainelli
9c59929e6e toolchain: do not build GDB when using an external toolchain
The external toolchain should provide it if needed.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36802
2013-05-30 22:04:54 +00:00
Felix Fietkau
97e7fdf6fd toolchain: get rid of libc implementation symbol overloading
SVN-Revision: 36360
2013-04-18 12:05:08 +00:00
Felix Fietkau
96bb7c123b build: consistently use 'depends on' instead of 'depends'
make the syntax more compatible with kernel menuconfig

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

SVN-Revision: 36351
2013-04-17 15:36:41 +00:00
Florian Fainelli
2f972664ec toolchain: musl is not available on MIPS64
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36206
2013-04-05 12:36:26 +00:00
Florian Fainelli
e032922266 toolchain: allow choosing the MIPS64 user-land ABI
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36205
2013-04-05 12:36:23 +00:00
Jo-Philipp Wich
9622f68581 buildroot: allow specifying libc personality for external toolchains
SVN-Revision: 35703
2013-02-20 15:06:10 +00:00
Florian Fainelli
6b63716262 add preliminary support for musl
Musl is an alternative C-library, see http://www.musl-libc.org for more infos.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34314
2012-11-23 20:02:29 +00:00
Felix Fietkau
f9f929613d toolchain: enable gdb by default
SVN-Revision: 32518
2012-06-28 14:32:11 +00:00
Mirko Vogt
334fd4199b purge support for glibc - use eglibc instead!
for reference: http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg13425.html

SVN-Revision: 31503
2012-04-28 22:24:12 +00:00
Jo-Philipp Wich
4c2e50f287 exclude CONFIG_GDB on avr32, allows enabling CONFIG_GDB unconditionally without failing avr32 builds
SVN-Revision: 31249
2012-04-10 21:04:06 +00:00
Jo-Philipp Wich
e53afbbe64 introduce a USE_EXTERNAL_LIBC symbol which gets selected by EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN Currently we always assume uClibc if an external toolchain is used, this breaks for non-uClibc toolchains or even vanilla uClibc ones since they do not share the external librpc semantics as OpenWrt. Solve the problem by defining an abstract "EXTERNAL_LIBC" which packages might or might not depend on.
SVN-Revision: 29689
2012-01-08 15:34:23 +00:00
Imre Kaloz
ec33947689 fixup armeb, too
SVN-Revision: 26034
2011-03-11 11:35:31 +00:00
Imre Kaloz
d4afc36c84 simplify TARGET_SUFFIX selection
SVN-Revision: 26033
2011-03-11 11:33:03 +00:00
Felix Fietkau
2efb2ef8b1 toolchain: fix r26004
SVN-Revision: 26006
2011-03-10 13:37:30 +00:00
Alexandros C. Couloumbis
deafde5632 toolchain: fix r25969
SVN-Revision: 26004
2011-03-10 13:21:00 +00:00
Felix Fietkau
36bc85648b fix target name mixup caused by r25928
SVN-Revision: 25969
2011-03-09 11:37:50 +00:00
Imre Kaloz
b74308c433 only support EABI on ARM targets
SVN-Revision: 25928
2011-03-07 12:59:19 +00:00
Imre Kaloz
a3989e3dbd We use different toolchain directories for different ARM archs, so we should set the default arch of gcc to reflect this.
This enables EABI support for armv4 CPUs.

Signed-off-by: Jochen Friedrich <jochen@scram.de>

SVN-Revision: 25705
2011-02-25 16:52:25 +00:00
Gabor Juhos
72ba27ae72 cns21xx: add initial support for the Cavium CNS21xx SoC
SVN-Revision: 24859
2010-12-30 17:19:16 +00:00
Imre Kaloz
d4bf98f231 add plemininary ultrasparc support
SVN-Revision: 24558
2010-12-14 07:57:22 +00:00
Nicolas Thill
737b4b4bcb move EABI config option out of GCC
SVN-Revision: 17753
2009-09-26 21:34:40 +00:00
Nicolas Thill
c9bc7c504c add external toolchain support, enhance native toolchain support (special thanks to Luigi Mantellini for his help... and patience ;)
SVN-Revision: 17682
2009-09-23 02:27:38 +00:00
Nicolas Thill
47ac8caa62 add comments & fix descriptions in toolchain config items
SVN-Revision: 17561
2009-09-10 14:32:36 +00:00
Nicolas Thill
de9bb2b998 prepare for upcoming external toolchain support: move config items not strictly toolchain related out of the toolchain submenu
SVN-Revision: 17560
2009-09-10 14:04:41 +00:00