Commit Graph

976 Commits

Author SHA1 Message Date
Bryan Hundven
bb821551c5 linux: Set CROSS_COMPILE while building/checking headers
Some architectures, like arc and blackfin set CROSS_COMPILE to a default
if it is not set on the command-line.

Since we are building the cross-compiler, we need to ALWAYS set
CROSS_COMPILE, since building/checking headers is done after the GCC
PASS1 step.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-02 16:55:44 -08:00
Bryan Hundven
1a25115a18 gcc: Support only the latest branch releases of gcc
This change, as per #222, reduces the number of supported releases of
gcc to the latest branch releases.

I noticed while doing this work that gcc-4.5.4 was never added, so I
moved patches for gcc-4.5.3 to 4.5.4 and updated the
bfin-unknown-linux-uclibc example. Also, 120-siginfo.patch was fixed
upstream in the 4.5.4 release, so this patch is omitted.

I also bumped the avr sample to 4.9.3 from 4.9.2.

With the addition of gcc-5.x, the gcc release team now releases the
major.minor.0 versions, while updates to the branch are available in
svn/git. We'll address that when we get to issue #219. This change just
removes CC_GCC_5_1 and moves CC_GCC_5_2 to CC_GCC_5, and removes
CC_GCC_5_1_or_later and moves CC_GCC_5_2_or_later to CC_GCC_5_or_later.

This is the first of two part changes, as mentioned in #222.
This change is slated for release in 1.22.0. The next change will be
slated for 1.23.0, and will limit gcc versions to what is on
https://gcc.gnu.org under "Release Series and Status", which is
currently 4.9.3 and 5.2.0, although I will also support the previous
supported version. In this example that would be 4.8.5.

Last, but not least, this change also retires AVR32 support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-31 12:17:35 -07:00
Alexey Neyman
0a050d3390 Clean up *.la after installing compiler/libraries.
Having *.la in the installation directory breaks ltrace: in ltrace,
libtool somehow considers libsupc++ to be an "accessory library" and
does not add -lsupc++ to the link flags. Neither Ubuntu, nor RedHat
include *.la files into their packages for libstdc++.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-26 18:34:06 -07:00
Jasmin Jessich
3bd86362ab Using "all" and "install" targets in do_gcc_core_backend if configured.
- New configurations:
  - CC_GCC_TARGET_FINAL:
    Use the default targets "all" and "install" for the final compiler for
    bare metal.
- Adding parameter "build_step" to function do_gcc_core_backend:
  do_gcc_core_backend is used for the core compiler and in case of bare metal
  for the final compiler, too. To have better control over the parameters for
  the final compiler "build_step" is used.
  - Used for proper logging.
  - Use CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY or CT_CC_GCC_EXTRA_CONFIG_ARRAY.
  - If CT_CC_GCC_TARGET_FINAL is set and the final compiler is build then the
    make targets for the final compiler are used ("all", "install").

  Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-10-10 00:24:42 +02:00
Bryan Hundven
625f7e66b4 Merge pull request #187 from jasmin-j/sync_lto
Synchronize CC_GCC_USE_LTO parameter setting II
2015-10-07 13:35:44 -07:00
Bryan Hundven
9e9b9bd195 Merge pull request #184 from jasmin-j/add_gcc_env_array
Add additional environment variables for gcc build.
2015-10-07 13:32:53 -07:00
Bryan Hundven
866bff1307 Merge pull request #182 from jasmin-j/add_missing_lib_opts
Adding missing if/else blocks in do_gcc_core_backend.
2015-10-07 13:31:19 -07:00
Jasmin Jessich
9bce2dc540 Synchronize CT_CC_GCC_USE_LTO parameter setting in do_gcc_backend with the one
from do_gcc_core_backend, by adding "--enable-lto"/"--disable-lto".

Signed-off-by: Jasmin Jessich <jasmin@anw.
2015-09-25 01:32:27 +02:00
Jasmin Jessich
931248f1aa Added additional environment variables for gcc build (make) with new option
GCC_EXTRA_ENV_ARRAY.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:21:36 +02:00
Jasmin Jessich
64a158f932 Removed doubled setting of --disable-libmudflap in do_gcc_core_backend.
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:20:19 +02:00
Jasmin Jessich
9c3248af89 Adding missing if/else blocks in do_gcc_core_backend for CT_CC_GCC_LIBSSP,
CT_CC_GCC_HAS_LIBQUADMATH and CT_CC_GCC_LIBQUADMATH (--en/disable-libssp,
--en/disable-libquadmath, --en/disable-libquadmath-support) from function
do_gcc_backend.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:19:10 +02:00
Jasmin Jessich
9e905afb56 Added additional newlib specific target flags with new option
LIBC_NEWLIB_TARGET_CFLAGS.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-14 23:32:07 +02:00
Bryan Hundven
f189762245 glibc: Fix applying addons to glibc => 2.17
glibc-2.17 and above no longer have external addons or ports.
So if we are => 2.17, don't even think about trying to mess with ports
or addons.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 20:14:00 -07:00
Bryan Hundven
6ac93ed03b Merge pull request #144 from jasmin-j/fix_142
Fix for issue #142:
2015-08-31 22:15:37 -07:00
Jasmin Jessich
c6f30f67f0 Fix for issue #142:
Configure for for core GCC did not use Core gcc extra config.
Use now config variable CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 02:46:38 +02:00
Jasmin Jessich
25dc2d4470 Added new config ISL_V_0_14_or_later and ISL_V_0_12_or_later to select
proper configure options for isl 0.14.x and 0.12.x in 121-isl.sh.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 02:18:35 +02:00
Erico Nunes
b8e64a0c08 avr-libc: add support for avr-libc C library
This commit adds support for the avr-libc C library.
According to the project page at http://www.nongnu.org/avr-libc , the
avr-libc package provides a subset of the standard C library for Atmel
AVR 8-bit RISC microcontrollers. In addition, the library provides the
basic startup code needed by most applications.

Support for this library in crosstool-ng is only enabled for the AVR
8-bit target.

The avr-libc manual and most distributions build the AVR 8-bit gcc
toolchain with the "avr" (non-canonical) target.
Some experimentation also led to the conclusion that other (canonical)
targets are not very well supported, so we force the "avr" target for
crosstool-ng as well.

The manual also recommends building avr-libc after the final gcc build.
To accomplish this with crosstool-ng, a new do_libc_post_cc step is
added, in which currently only avr-libc performs its build, and is a
no-op for the other libc options.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:06 -03:00
Erico Nunes
230dc12285 avr: add support for AVR 8-bit architecture
This commit adds support for the Atmel AVR 8-bit RISC architecture.
This is the first 8-bit architecture to be added to crosstool-ng so the
configuration options for 8-bit architectures are added here as well.

gcc has had support for AVR for quite a while, at least since the 4.3
series for the currently popular ATmega microcontroler series.
The AVR architecture only supports bare-metal toolchains.

gcc for the AVR 8-bit architecture, usually referred to as avr-gcc, is
commonly used in conjunction with the avr-libc library which provides
additional resources for the Atmel AVR 8-bit microcontrollers.

avr-gcc can also be found as a supported package in some recent Linux
distributions.

This commit also closes #66

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:49:10 -03:00
Bryan Hundven
728b410657 gcc: Remove --enable-c99
This option is old. GCC 4.3.x old. It isn't supported anymore, and just
confuses me. I'm not planning to support 4.3.x, or really anything older
then 4.7. So this option is gone to the wind.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-06-03 12:26:10 -07:00
Ray Donnelly
00e7d4fd7b test_suite: Update gcc test_suite for multiple compilers
This commit updates gcc's test suite to use the new config options.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:36 +01:00
Ray Donnelly
cfd4437bf7 gdb: Update 300-gdb.sh for multiple compilers
Update 300-gdb.sh to use the new config options.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:34 +01:00
Ray Donnelly
8ce2abf57d cc: Update 100-gcc.sh for multiple compilers
Update 100-gcc.sh to use the new config option names.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:32 +01:00
Ray Donnelly
afbd17874a scripts: Update crosstool-NG internals for multiple compilers.
This change updates the CC.* references to CC_GCC.* in the internal
scripts.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:31 +01:00
Ray Donnelly
3049c4c1e2 multi_cc: Prepare ct-ng for multiple compilers
This commit moves gcc.sh to 100-gcc.sh to accomodate for other
cross-compilers that crosstool-ng might be able to build.

The first, to come soon, is llvm/clang.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-05-29 21:49:32 +01:00
Ray Donnelly
b39fb4b1b4 mingw-w64: Add 'devel' version to use git 'master' branch
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-05-12 23:48:53 +01:00
Bryan Hundven
3ef53bf7ad Merge pull request #75 from bhundven/kernel_updates
kernel: Update kernel versions
2015-04-26 17:43:49 -07:00
Bryan Hundven
ff09cb3296
kernel: Update kernel versions
This commit adds support for 4.x and updates longterm versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-26 17:40:35 -07:00
Bryan Hundven
7365281973
comp_libs: Fix download locations for cloog and mpc
This change closes #62

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-26 08:09:08 -07:00
Bryan Hundven
69c568ac85 Merge pull request #57 from smoofra/buildflags
bugfix: pass extra build CFLAGS and LDFLAGS to glibc
2015-04-14 08:20:38 -07:00
Bryan Hundven
0056444ad5 Merge pull request #63 from neftedal/master
Updated script to support mingw versions above major 2
2015-04-14 08:18:05 -07:00
Nils Petter Eftedal
00b68926a8 mingw.sh: added with sysroot argument to mingw configure
The argument will prevent the prefix path from being added as an include path while building mingw. Having the prefix as an include path might cause all kinds of weird issues if prefix directory also exists on the build machine.

Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
2015-04-08 09:36:57 +02:00
Nils Petter Eftedal
2392a3909d mingw.sh: updated script to support mingw versions above major 2
Added new functions to support changes in prefix and required vendor tuple for new versions of mingw.

Tested and verified with mingw version 2.0.7, 3.3.0 and 4.0-rc3.

Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
2015-04-08 09:28:16 +02:00
Lawrence D'Anna
972dbd294d bugfix: pass extra build CFLAGS and LDFLAGS to glibc
Glibc actually does create a build executable.  It's under sunrpc and it's
called cross-rpcgen.  It uses gettext, so if that's not available in a standard
place on your system (for example if you're using Mac OS X and Homebrew), then
you are all out of luck.

Signed-off-by: Lawrence D'Anna <larry@elder-gods.org>
2015-04-07 20:31:58 -07:00
Bryan Hundven
18175b8d93 Merge pull request #37 from bhundven/so_long_to_eglibc
So long to eglibc
2015-04-07 19:07:13 -07:00
Johannes Pfau
586e30f726 Only create ${CT_TARGET}-cc${ext} symlink if ${CT_TARGET}-gcc exists
Without this canadion cross builds create invalid symlinks:
When the code in do_cc_core_backend is called there is no
${CT_TARGET}-gcc in the install directory. Therefore ext is empty and
we create a link to ${CT_TARGET}-gcc. The final compiler
step then installs ${CT_TARGET}-gcc.exe and creates a working
${CT_TARGET}-cc.exe symlink but we still keep the invalid link
as well.

Signed-off-by: Johannes Pfau <johannespfau@gmail.com>
2015-04-07 20:14:26 +02:00
Bryan Hundven
7b8d76ed56 scripts/*/*.sh: prioritize http downloads
Prirotize http downloads before ftp downloads.
By having http download first, those using proxy will work with the
current download mechnism.

This tells me that that mechnism needs to be updated.
(proxy support and/or kconfig toggles)

closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-02-01 21:00:14 -08:00
Bryan Hundven
add039fd50 glibc: Fix pkgversion and bugurl support
glibc versions that don't support --with-pkgversion or --with-bugurl
will cause a harmless:

====================
configure: WARNING: unrecognized options: --with-bugurl...`
====================

If it's set, use it, if it's a recognized option.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 23:13:38 -08:00
Bryan Hundven
cd47c091ba eglibc: Remove eglibc support
As posted on http://www.eglibc.org/
====================
EGLIBC is no longer developed and such goals are now being addressed
directly in GLIBC.
====================

I'm not interested in maintaining build support for unsupported
software.

Older branches of crosstool-ng continue to have eglibc support.
If you find issues with older branches, I'm always open to pull
requests.

Removing eglibc also frees up glibc cleanup and build optimization.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 22:43:25 -08:00
Daniel Zimmermann
4ac1653f94 arch/nios2:add nios2
add the nios2 architecture to crosstool-ng.

Signed-off-by: Daniel Zimmermann <netzimme@gmail.com>
2015-01-26 20:43:18 +01:00
Cristoforo Cataldo
01397b7e5a libc: newlib: Add NewLib 2.2.0, Linaro NewLib 2.2.0-2015.01 and 2.1.0-2014.09
This commit allows to choose, download and build latest NewLib:
- newlib-2.2.0
- newlib-linaro-2.2.0-2015.01
- newlib-linaro-2.1.0-2014.09

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
315f69271c libc: glibc: Add Linaro GLibc 2.20-2014.11
This commit allows to choose, download and build latest Linaro GLibC:
- glibc-linaro-2.20-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
4170d1ed70 libc: eglibc: Add Linaro EGLibc 2.19-2014.08
This commit allows to choose, download and build latest Linaro EGLibC:
- eglibc-linaro-2.19-2014.08

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
017d2d014e debug: gdb: Add Linaro GDB 7.8-2014.09 and Linaro GDB 7.6.1-2013.10
This commit allows to choose, download and build latest Linaro GDB:
- gdb-linaro-7.8-2014.09
- gdb-linaro-7.6.1-2013.10

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
d90bd6f13f gcc: Add Linaro GCC 4.9-2015.01 and GCC 4.8-2014.11
This commit allows to choose, download and build latest Linaro GCC:
- gcc-linaro-4.9-2015.01
- gcc-linaro-4.8-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
ca5003cbe6 binutils: Add Linaro Binutils 2.25-2015.01 and 2.24-2014.11
This commit allows to choose, download and build latest Linaro Binutils:
- binutils-linaro-2.25.0-2015.01-2
- binutils-linaro-2.24.0-2014.11-2

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 21:52:25 +01:00
Bernhard Walle
c88bbca7ab comptools/make: Install 'gmake' symlink
We had following problem: We're building a toolchain with an old glibc
version for compatibility with old Linux distributions (glibc 2.9). This
version requires make < 4 to build. However, the configure script of
glibc looks for make in the order "gnumake", "gmake" and "make". So when
"gmake" is available in the system (which is the case on Gentoo Linux
per default, unfortunately), then configure finds the system gmake 4.1
instead of the ct-ng make 3.82.

This patch adds an option to install a symlink so that 'gmake' is also
available in the old version when building toolchains.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2015-01-08 19:15:51 -08:00
Bryan Hundven
2ba44bb761 Merge pull request #19 from davidholsgrove/newlib_headers
Newlib headers for Canadian Crosses
2015-01-07 12:21:30 -08:00
David Holsgrove
af731ae904 cc/gcc: Remove copyheaders toggle in do_cc_core_backend, make default
Canadian Cross compile for baremetal fails with error;

  checking for the value of EOF... configure: error: computing EOF failed

which is due to libstdc++ configure not being able to find stdio.h

Having all modes of the core compiler copyheaders from CT_HEADERS_DIR
(in combination with previous patch for newlib to add a do_libc_start_files
function to copy into the CT_HEADERS_DIR) resolves this.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2015-01-02 09:52:29 +10:00
David Holsgrove
234c643008 libc/newlib: Add do_libc_start_files to copy headers to CT_HEADERS_DIR
Require access to newlibs headers in gcc.sh, matching other libc components.
Resolves issue with headers not found.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2015-01-02 09:52:28 +10:00
Bryan Hundven
4b84be34c5 gmp: Disable --enable-mpbsd if version is >= 5.0.2
closes #12

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-23 13:28:26 -08:00
Bryan Hundven
5c7bccdb3f Merge pull request #14 from davidholsgrove/glibc_rpc
libc/glibc: install obsolete RPC for both eglibc and glibc
2014-12-15 18:02:28 -08:00
Bryan Hundven
0ee9ecbcf7 Merge pull request #6 from davidholsgrove/libc_custom_location
Libc custom location
2014-12-15 09:33:43 -08:00
Jérôme BARDON
7147418c8f libc/glibc: install obsolete RPC for both eglibc and glibc
Currently, the obsolete RPC headers are only installed for eglibc,
but glibc has the same /deficiency/, so install the obsolete RPC
for both.

Signed-off-by: Jérôme BARDON <bardon.pro@gmail.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-15 14:48:33 +10:00
Bryan Hundven
9159846334 gdb: fix typo made in gdb build script
I made a typo in: 1e17619b27

It should be version, not release.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-09 22:16:40 -08:00
Bryan Hundven
91cf168d76 gcc and gdb: fix fetching linaro builds (part three)
Yes, I missed the backslash which messed up the linaro stuff.
The more I look at this code, I feel it needs to be refactored a bit. So
I'll come back to this in the future and clean it up.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:46:41 -08:00
Bryan Hundven
1e17619b27 gcc and gdb: fix fetching linaro builds (part two)
It's not my day.

linaro_version is a filter. If it is not a linaro toolchain, it will
just be CT_{CC,GDB}_VERSION. If it is a linaro toolchain, CT_{CC,GDB}_VERSION
will be prefixed with 'linaro-' and will not match linaro_version, as
linaro_version will just have the part after 'linaro-'.

This *really* fixes the issue :sigh:

Thanks again to @elsonwei for being right the first time!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:27:46 -08:00
Bryan Hundven
aee4142a9d gcc and gdb: fix fetching linaro builds
linaro_version and linaro_series are defined but not set if we are not
configured for linaro builds.

Therefore we need to default them to "" (null string).
As reported by @elsonwei

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 22:32:19 -08:00
David Holsgrove
163a1737b8 libc/{,e}glibc: If using custom {e}glibc, dont extract or patch
If custom {e}glibc is being used, no need to carry out the
extract or patching phase of scripts/build/libc/glibc-eglibc.sh-common

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
71ed5aae34 libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
79b9881295 libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
d7b4f0dbe3 glibc: nptl is default from 2.20, so dont add to addons_list
No longer recommended practice to use --enable-add-ons=nptl, so
for 2.20 and later (along with custom glibc), don't add the
CT_THREADS to the addons_list

https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:41:35 +10:00
Bryan Hundven
79422633cf scripts: Update download locations
This change updates the download locations to default to the official
download site.

For gcc and gdb, also separate out the linaro download locations so that
if you are downloading the linaro variant, it skips trying to download
from the official gcc mirror.

This commit closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08 15:03:08 -08:00
Solomon Peachy
4125a79589 binutils: Fix elf2flt compile on more modern systems
Without this fix, elf2flt will blow up complaining that it can't resolve
dlopen() and friends.  One has to explicitly pass '-ldl' on the final
linking command line, because the system linker is not resolving
indirect dependent shared libraries.

I've needed to this patch for several years on Fedora systems.

Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-05 13:09:51 -08:00
goodmenlinux@gmail.com
f65ecce4ba binutils: Fixup the static toolchain build problem
When try to build the static toolchain, binutils failed.

    I have checked the libtool script, and found that the following option
          -all-static
          -static
          -static-libtool-libs

    are processed in a strange way. If any one of those three options
    appears firstly in the cmdline, all others will be neglected. Our
    LDFLAGS is ".... -static -all-static -o", so the -static option
    takes the real effect, and the -all-static has no useage actually!
    that is the cause of the failure.

Signed-off-by: Brock Zheng <goodmenlinux@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-05 03:20:04 -08:00
Bryan Hundven
6bef0b4d24 libc/musl: Add config option for extra developer warnings
This commit adds a configuration knob for enabling extra developer
warnings to be enabled during the musl-libc build.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:22 +02:00
Bryan Hundven
9dd63da071 libc/musl: Add config option for debugging info
This option enables a configuration knob for adding debugging info.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:19 +02:00
Bryan Hundven
cb27b22974 libc/musl: Add options for optimization
This commit adds configuration knobs for optimizing musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:11 +02:00
Yann E. MORIN
a56df802eb cc/gcc: add option to enable/disable libsanitizer
libsaniotizer requires a few headers that are not in uClibc, for
example. Also, it is only available for native threads (NPTL under
glibc.) Finally, it is only available starting with gcc-4.8.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-08-31 18:54:13 +02:00
Bryan Hundven
52260ccebb libc/musl: add musl-libc support
This patch adds initial support for musl-libc.

Musl-libc versions currently supported:
* 1.0.3 (Stable)
* 1.1.3 (Previous Mainline)
* 1.1.4 (Mainline)

Futher improvements are needed.
* gcc-4.9.x has issues (Might be fixed in musl-1.1.4).
* Multilib support is needed.
* Checks to make sure paths are correct.
* Move to 2-step gcc build. 3-step build is not necessary.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: removed the gcc musl patch, to be added later;
 removed dead code do_get_arch()]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-08-08 22:49:37 +02:00
Cody P Schafer
975d24cb35 cc/gcc: avoid passing --enable-multilib (take 2)
The previous patch (cset b61a1b1, cc/gcc: avoid passing --enable-multilib)
only fixed the core backend, and missed the final backend.

This patch does the same as b61a1b1, but for the final backend.

Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-07-19 12:10:23 +02:00
Yann E. MORIN"
d0cc0b3a56 arch: use the newly introduced target_bits_64
Convert MIPS and Sparc over to using the new target_bits_64 variable.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-12 00:09:31 +02:00
Cody P Schafer
aaaea2987a arch/powerpc: add powerpc64le support
Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).

powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).

Also make powerpc64 non-experimental. It's practically old at this point.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: use ${target_endian_le} and ${target_bits_64}]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <64bfbbced9dd8f62e0d6.1399801945@gun>
Patchwork-Id: 347775
2014-05-12 00:02:13 +02:00
Yann E. MORIN"
8989b2d658 binutils/elf2flt: restore the custom location functionality
Somehow, it got lost when incorporating elf2flt in the binutils farmework.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 17:51:33 +02:00
Yann E. MORIN"
298982aab2 binutils/binutils: do not forget to extract elf2flt
In case we're using a custom (aka local) binutils source, we still
need to extract and patch elf2flt.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 18:42:30 +02:00
Yann E. MORIN"
04a7340d0a binutils/elf2flt: use alternate mirror
The official elf2flt upstream has disapeared.

Switch to a mirror.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 15:43:28 +02:00
Cody Schafer
db2872f2ac cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal
The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
 use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
2014-05-09 19:13:49 -07:00
Cody Schafer
b61a1b13ee cc/gcc: avoid passing --enable-multilib
Some versions of gcc have a broken --enable-multilib flag. As multilib is the
default, only pass the --disable-multilib flag

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: make it an if-block; duplicate commit log as comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <5c970c1ceb22528fe28a.1399687923@localhost>
Patchwork-Id: 347585
2014-05-09 19:11:59 -07:00
Trevor Woerner
3737334080 newlib: fix extract process for custom version
newlib: fix extract process for custom version

If the user specifies the use of a custom newlib version, the logic in the
extract function was reversed, so this step would fail.

Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
[yann.morin.1998@free.fr: keep leading indentation]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <c727adf1b7bd2c1e891d.1393353347@openSUSE-i7>
Patchwork-Id: 324060
2014-02-25 13:34:48 -05:00
Yann E. MORIN"
eb0da898f8 cc/gcc: only build required core passes
We now know exactly what pass to build, so build only what is required.

Reported-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-05 23:24:05 +02:00
Ray Donnelly
62a1145d61 binutils: Added ranlib to tools list
so that it is available to available to
the core C compiler build because static
libraries are built and ranlib is used
on them.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Message-Id: <CAOYw7dt=+DdnKAHNShfs6a+=7sS+DLQYkyxnQMAwmw7E7zqvgA@mail.gmail.com>
Patchwork-Id: 316477
2014-02-04 07:40:45 +00:00
Yann E. MORIN"
2ee8d1d8f2 cc/gcc: add option to enable/disable decimal floats
Decimal floats need support form the C library, namely support
for fenv, which is missing in uClibc for any architecture but
x86/32.

Add an option (a choice) to enable or disable decimal floats.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:17:40 +01:00
Yann E. MORIN"
ec93451443 libc/uClibc: add option to enable fenv
Support for fenv.h is a little bit more tricky that enabling it only
for x86-32 is not right.

Add an option for the user to choose whther to install fenv.h or not.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:19:18 +01:00
Yann E. MORIN"
20d851ad9f libc/glibc: fix downloading addons
Do to glibc what we did to eglibc in #dff359adf15c.

Only (very) old versions of glibc have other external addons,
and they are no longer meaningful.

But for consistency, do the change nonetheless.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-06 20:05:14 +01:00
Yann E. MORIN"
2071cfb13e libc/glibc: print name of skipped addon
When trying to extract an already present (aka bundled) addon,
print the name of that addon, for clarity, and to help analyse
the build.log post-mortem.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-05 19:25:54 +01:00
Daniel Dittmann
ba4abe8285 cc/gcc: set CXXFLAGS at configure gcc
Since gcc 4.8 C++ is also used as implementation language (see gcc
release notes).

Signed-off-by: "Daniel Dittmann" <ddittmann@gmx.net>
Message-Id: <acc7d11bc77b30f21c5b.1388863298@bernalk.machteam>
Patchwork-Id: 306883
2014-01-04 20:16:18 +01:00
Yann E. MORIN"
c1ed43e527 libc-uclibc: enable fenv for x86 32-bit
Without it, gcc-4.8 fails to build.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 01:10:13 +01:00
Yann E. MORIN"
c6fd7bd2d9 cc/gcc: diable libsanitizer without NPTL
gcc-4.8 comes with a new library to sanitise memory access:
  - heap-, stack-, and global-buffer overflow, use-after-free
  - data-races between threads

This library requires some _np parts of the API, which are not
implemented in the (old) LinuxThreads, which is still available
in uClibc.

Since NPTL requires a i486 or above, i386 are stuck with using LT,
which precludes building the libsanitizer.

Disable libsanitizer, a bit like libatomic is.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Niels Penneman <niels@penneman.org>
2014-01-04 01:02:57 +01:00
Yann E. MORIN"
05429e01f2 libc/eglibc: fix downloading of localedef addon
For the versions of eglibc where the ports addon is not external (ie,
all versions after, and including 2.17), we would fail to download the
localedef addon, since the test did not care about the addon we were
about to download, only whether the ports addon was external or not.

Fix that by skipping the ports addon only if that's the addon we're
trying to download.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-03 17:10:09 +01:00
Niels Penneman
89e9d9851a cc/gcc: fix gcc 4.8 build for C library without threads support
Signed-off-by: Niels Penneman <niels@penneman.org>
Message-Id: <309df93f4354c80e05c9.1388743085@i7sb.local>
Patchwork-Id: 306521
2014-01-03 10:57:48 +01:00
Yann E. MORIN"
dbe2cc1c0b kernel/linux: fix fall-out due to arm64 special case
Cset 3b61be3d7aa6 (prepare for arch whose kenel name is not the standard name)
failed to name a variable consistently, so all archs but arm64 were broken.

Fix that by renaming the variable in a consistent way.

Reported-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-01 19:14:20 +01:00
Yann E. MORIN"
1bf982dd68 arch/arm: add support for AArch64
AArch64 id the 64-bit variant for ARM.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Cc: Michael Hope <michael.hope@linaro.org>
2013-12-30 23:28:18 +01:00
Yann E. MORIN"
9bda4536fe kernel/linux: prepare for arch whose kenel name is not the standard name
For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: split out of the aarch64 patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-30 23:15:02 +01:00
Yann E. MORIN"
2c2717a019 libc/newlib: fix variables for avr32 headers
Some of the avr32headers related variables are used in different
functions, so have to be declared globally, not locally.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 12:55:21 +01:00
Zhenqiang Chen
2f94f99dd8 cc/gcc: Add Fortran support for Baremetal build
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: fix damage due to mailer]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CACgzC7D5HCVS-qX=ydcQphNFH=VGgJzTdZWQWaLKAv-CdE8crA@mail.gmail.com>
Patchwork-Id: 292703
2013-11-19 14:44:02 +08:00
Yann E. MORIN"
f63e4f0604 libc/{glibc,eglibc}: Don't download glibc-ports when not available
Don't download glibc-ports when glibc or eglibc version greater than 2.16,
because the "ports" source is mainline in the glibc or eglibc since version 2.17.

Signed-off-by: "Daniel Zimmermann" <netzimme@gmail.com>
Message-Id: <9c045ca3cf1b9dc89da3.1384602843@haus-VirtualBox>
Patchwork-Id: 291766
[yann.morin.1998@free.fr: slightly tweak subject, change variable name]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-16 16:16:51 +01:00
Yann E. MORIN"
78c5cab850 debug/gdb: fix canadian-cross in case of static cross gdb
Building the cross-gdb shoud be done using the host compiler,
not the native compiler.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-15 21:35:27 +01:00
Yann E. MORIN"
edd01b7729 libc/(e)glibc: fix extra configparms
In case ${CT_LIBC_GLIBC_CONFIGPARMS} starts with a dash, printf will try
to interpret it as an option for itself, and will invariably flail in
panic as it does not recognise any of it.

Use a more robust solution, as suggested by Cody.

Reported-by: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <devel-lists@codyps.com>
2013-11-15 21:21:12 +01:00
Yann E. MORIN"
cf36828878 cc/gcc: Add support for golang
Signed-off-by: Richard Weinberger <richard@nod.at>
Message-Id: <ca374aef944e28a6ec3c.1383921708@azrael>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-08 15:18:09 +01:00
Michael Hope
c0c6db07fe complibs/isl: add HTTP mirror
Add well-known HTTP mirror as a fallback.  This lets crosstool-ng
work when behind a HTTP/HTTPS only proxy.

Signed-off-by: Michael Hope <michaelh@juju.net.nz>
[me: split original patch in two]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda>
Patchwork-Id: 264436
2013-08-01 20:24:35 +00:00
Michael Hope
8d21f730a6 libc/newlib: add HTTP mirror
Add well-known HTTP mirror as a fallback.  This lets crosstool-ng
work when behind a HTTP/HTTPS only proxy.

Signed-off-by: Michael Hope <michaelh@juju.net.nz>
[yann.morin.1998@free.fr: split patch in two]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda>
Patchwork-Id: 264436
2013-08-01 20:24:35 +00:00
Yann E. MORIN"
e1675bac64 complibs/cloog: add support for the ISL backend
CLooG 0.18+ will use ISL instead of PPL, so we have to configure
adequately depending of which backend is in use.

The Kconfig entries will decide for us which is selected, so we
can rely on either PPL xor ISL to be selected, not both.

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add ISL support,
 which this patch is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 00:01:05 +02:00
Yann E. MORIN"
1dc3dd9167 cc/gcc: add preliminray support for 4.8
This means:
  - introduce the new symbols for 4.8
  - do not always select PPL if graphite is selected

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add gcc-4.8 support,
 which this patch is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 17:59:00 +02:00
Yann E. MORIN"
e4828c01d3 complibs: add ISL
ISL is used by gcc-4.8 onward for GRAPHITE, so is also used as
backend for CLooG 0.18.0 onward.

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add ISL, which this one is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-04 00:08:34 +02:00
Zhenqiang Chen
501204e8d4 cc/gcc: Set CXX_FOR_BUILD for bare metal and canadian build.
>From 4.8, g++ is used as the default compiler to build the toolchain.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Message-Id: <CACgzC7B-LQvAw3hOYhBA7b7g0H1WtH20gqXM=Y=YFO4FrnZKWQ@mail.gmail.com>
Patchwork-Id: 243590
2013-05-13 15:00:56 +08:00
Jongsung Kim
d8988dbe0b cc/gcc: modify to build gcc-4.8-based cross-tools
Building cross-tool based on gcc-4.8 fails while "Installing
pass-2 core C compiler", because building libgcc.mvars needs
libbacktrace.a that gcc.sh doesn't build. This patch inserts
a few lines configuring, and making libbacktrace into gcc.sh
to build gcc-4.8-based cross-tools successfully.

Reported-by: Plotnikov Dmitry <leitz@ispras.ru>
Signed-off-by: Jongsung Kim <neidhard.kim@lge.com>
Message-Id: <201305031831.33395.neidhard.kim@lge.com>
Patchwork-Id: 241258
2013-05-02 23:31:33 +00:00
Samuel Martin
a3e17bad44 complibs/ppl: only add -fpermissive flag to CXXFLAGS
-fpermissive is not a valid option to gcc.

Adding it to the CFLAGS make the ppl checks fail with the following
error:

[ALL  ]    Making check in tests
[ALL  ]    cc1: warnings being treated as errors
[ERROR]    cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C
[ALL  ]    cc1: warnings being treated as errors
[ERROR]    cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C
[ERROR]    make[7]: *** [formatted_output.o] Error 1

Signed-off-by: "Samuel Martin" <smartin@aldebaran-robotics.com>
Message-Id: <bba2482a06a11415207e.1365876457@smartin-de-2.aldebaran.lan>
Patchwork-Id: 236383
2013-04-13 19:41:36 +02:00
Jerzy Grzegorek"
5458f566af kernel/linux: add xz-ed linux tarballs
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Message-Id: <f249828223fc75313bee.1363860871@NX5000>
Patchwork-Id: 229618
2013-03-21 10:57:31 +01:00
Martin Guy
e284b218a7 arch/avr32: Fix download of header files
This patch fixes the download of the avr32 headers in crosstool-ng by
fetching them directly from Atmel's web site instead of the now-broken URL
given by the original author of the avr32-header-fetching modification,
who fetched them from a copy on his own, now-defunct server.

It also adds the necessary logic to extract from a zip file, as that is
how the headers are packaged.

To configure it for avr32 after launching ct-ng menuconfig in an empty
directory:

       Paths and misc options ->
               Shell to use as CONFIG_SHELL = sh
       Target options ->
               Target Architecture = avr32
       Toolchain options ->
               Tuple's alias = avr32
       Binary utilities ->
               binutils version = 2.18a
       C compiler
               gcc version = 4.2.2
       C-library
               newlib version = 1.17.0
               Enable IOs on long long = yes
               Enable IOs on floats and doubles = yes
               Disable the syscalls supplied with newlib = yes

CONFIG_SHELL is necessary to get round the "fragment: command not
found" bug when binutils-2.18 is configured using bash.

Prepared against crosstool-ng mercurial trunk on 31 March 2012.

Signed-off-by: Martin Guy <martinwguy@gmail.com>
[yann.morin.1998@free.fr: update bundles sample accordingly]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CAL4-wQrg_NQ7jm-NCADqeyQr9twyhtx42OUGNThP6gWeqZc=kw@mail.gmail.com>
Patchwork-Id: 232612
2013-03-31 04:07:38 +00:00
Samuel Martin"
355e585232 debug/dmalloc: enforce cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <69772732f551aa342a2c.1363446264@laptop>
Patchwork-Id: 228221
2013-03-16 15:33:44 +01:00
Samuel Martin"
96b2e3c3f6 debug/strace: enforce cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <24b6540a08cbca7ee1fa.1363446263@laptop>
Patchwork-Id: 228220
2013-03-16 15:47:56 +01:00
Samuel Martin"
1fc10f2779 debug/gdb: enforce gdbserver cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <ca85cad85c4dd20e74f1.1363446262@laptop>
Patchwork-Id: 228219
2013-03-16 15:46:45 +01:00
Yann E. MORIN"
d12f807b16 libc/glibc: do not overwrite existing bits/syscall.h
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Rafael C <groups.r2@gmail.com>
Cc: Jérôme BARDON <bardon.pro@gmail.com>
Cc: Daniel Price <daniel.price@gmail.com>
2013-03-03 22:24:40 +01:00
Yann E. MORIN"
75e7c5bc1b libc/glibc: fix installing syscall.h when installing start-files.
Reported-by: Rafael C <groups.r2@gmail.com>
Reported-by: Jérôme BARDON <bardon.pro@gmail.com>
Reported-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: use a conditional approach, also suggested by Daniel]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 22:18:35 +01:00
Yann E. MORIN"
a5491bd775 debug/gdb: a litle bit of trivial code-reordering
Move all options-setting code at the same place.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:17:55 +01:00
Yann E. MORIN"
6fef7d640a debug/gdb: fix possibly broken code
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:15:56 +01:00
Yann E. MORIN"
ea899b6767 debug/gdb: move the ncurses build to a backend
This cleans up the code a bit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:21:51 +01:00
Yann E. MORIN"
71d2f41cf9 debug/gdb: always enable expat for the cross-gdb
There's no point in not supporting XML in the cross-gdb.
I mean, come on... ;-)

It's still the responsibility of the user to have the necessary
devel expat packages installed for his/her distro.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:19:32 +01:00
Yann E. MORIN"
5b41901f99 debug/gdb: fix $need_expat_src usage for native-gdb
For the native-gdb (ie on the target), we unconditionally
need to build expat.

Make it a backend, it makes a litle bit cleaner code.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:30:02 +01:00
Yann E. MORIN"
c31652d67d debug/gdb: fix $need_ncurses_src usage
It should be used only to decide whether we need to download/extract
ncurses, not wheter we should build it or not.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:25:52 +01:00
Yann E. MORIN"
42b0a64885 debug/gdb: fix the mess do_{gdb,expat,ncurses} have become
Rename those three variables to properly reflect their purpose: decide
whether we need to download/extract gdb/libexpat/libncurses, not whether
we need to build them or not.

This is only a rename for now, subsequent changes will further
fix this mess.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:02:32 +01:00
Trevor Woerner
38a4afc266 libc/newlib: update fetch location
The menu system provides an option to allow a user to request newlib
version 2.0.0. newlib-2.0.0, however, is not available at the download
location currently being used. It is, however, available (as are other
supported versions of newlib) at an alternate location.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-Id: <75ab5151c7f5dc9086e3.1362334313@suse64>
Patchwork-Id: 224561
2013-03-03 13:10:51 -05:00
Yann E. MORIN"
035fb442ea complibs/ppl: update upstream location
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-02-15 18:54:27 +01:00
Yann E. MORIN"
150f500426 arch: allow adding a suffix to the arch-part of a tuple
For some architectures, it is legit to have an alternate value in the
'architecture' part of the tuple. For example:
    armv5te-*
    armv7a8-*

Besides, some packages expect the tuple to reflect the arch variant
(eg. openMPI) to detect the variant's capabilities (eg. atomic
primitives).

This patch adds an option for the user to specify a suffix to be added
to the arch-part of the tuple.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Message-ID: <20130120225822.GS6838@1wt.eu>
Patch-Id: 213994
[yann.morin.1998@free.fr: make it a suffix, not an override]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-20 12:58:22 +00:00
Yann E. MORIN"
ffe80db73c libc: get rid of libc_finish
At long last, we no longer have any libc that requries a libc_finish.
Yeah!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 21:01:59 +01:00
Yann E. MORIN"
b8c9fdf4a3 libc/newlib: install AVR32 headers during the start-files-and-headers phase
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 19:06:46 +01:00
Yann E. MORIN"
c1d673203d arch/arm: add option to use *eabihf tuples
Toolchains that use the hard-float ABI now are to be denoted by a tuple
ending in *eabihf, while the prevbious *eabi is now an indication that
the toolchain uses the softfloat ABI.

This is purely a cosmetic thing, for distros to differentiate their
hardfloat-ABI ports from their softfloat-ABI ports.

(note: softfloat ABI does not mean that it is using softfloats; it can
be using hardfloat instructions, but using the softfloat ABI).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 00:11:17 +01:00
Yann E. MORIN"
ea77a251e5 libc/glibc: both glibc and eglibc have pkgversion and bugurl
Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:30:51 +01:00
Yann E. MORIN"
8ec9dbbc8d libc/glibc: always enable obsolete RPC
Since unrecognised ./configure flags are simply ignored,
we can always pass --enable-obsolete-rpc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:34:55 +01:00
Yann E. MORIN"
fc4d1bf65f complibs/ppl: fix build with newer gcc
ppl-0.10.x does not build with gcc-4.6+, as it uses constructs that were
warnings with gcc-4.5 and before, but are now errors with gcc-4.6 and
above.

Fix that by passing -fpermissive in CFLAGS for ppl 0.10.

Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr>
Reported-by: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-10 00:25:48 +01:00
Yann E. MORIN"
4e9c473337 cc/gcc: do not print 'core' or 'final'
In gcc-'s core and final passes, do not print 'core' or 'final' in
log messages. We already print it in step messages.

Also, as we use the core backend to build the bare-metal final gcc,
it can be disturbing to read 'core' while we're in fact in 'final'.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-25 18:22:38 +01:00
Yann Diorcet
e9920217e8 cc: add a flag for skipping core passes
It is used for skipping unnecessary compilation steps when the libc
doesn't need to be compiled (eg. when we do not use a C library).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <150eadb0117e697d79aa.1353625025@blackmint>
Patchwork-Id: 201222
2012-11-22 23:56:58 +01:00
Yann Diorcet
9705ec34cf binutils: introduce the infrastructure to support binutils alternatives
Rework binutils in order to provide soon binutils alternative.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: split up original patch for self-contained changes]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d3d1d51f399e6d2c1163.1353320546@macbook-smorlat.local>
Patchwork-Id: 199971
2012-11-19 11:21:31 +01:00
Yann Diorcet
b43fdf40f1 scripts: add BUILD/HOST extra cflags/ldflags
On some hosts, and for certain toolchains (eg. toolchain targetting
the upcoming Darwin), it may be necessary to pass arbitrary CFLAGS
and/or LDFLAGS when building the components.

And necessary infrastructure:
  - EXTRA_{CFLAGS,LDFLAGS}_FOR_{BUILD,HOST} as config options
  - pass those extra flags to components

Fix-up a slight typo in elf2flt at the same time (misnamed cflags).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <d24043276c9243a35421.1353077450@macbook-smorlat.local>
Patchwork-Id: 199645
2012-11-16 15:25:57 +01:00
Daniel Price
1af4a119d2 scripts: unquoted variable reference in glibc-eglibc.sh-common
Signed-off-by: Daniel Price <daniel.price@gmail.com>
Message-Id: <12f092a95a94bcf76912.1353367250@redfish.dssd.com>
Patchwork-Id: 200215
2012-11-19 15:20:13 -08:00
Yann Diorcet
ba31ed29c4 binutils/sstrip: remove
sstrip has been obsoleted for a while now, as it's still broken
for some archs, and there seems to be no incentive to fix it
upstream. Besides, the space gained with sstrip is marginal at
best.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <65c8bf534d0647ce52cd.1353320545@macbook-smorlat.local>
Patchwork-Id: 199970
2012-11-19 11:19:54 +01:00
Yann Diorcet (diorcet yann
0be070e5b7 complibs: introduce generic multi-complibs infrastructure
Use the same method as companion tools for providing generic and
extendable companion libs.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local>
Patchwork-Id: 199613
2012-11-16 14:59:27 +01:00
Yann Diorcet
3d01e9f275 libc/mingw: replace mingw32 with generic mingw
Replace the 32-bit-only mingw32 with mingw-w64 that is capable
of building toolchains for both 32-bit and 64-bit Windows.

kernel/mingw: replace mingw32 with generic Windows
kernel/windows: New windows kernel supporting 32 and 64 bit arch
libc/mingw: Remove old options
patches: Remove old mingw libc options' patches

Signed-off-by: "Yann Diorcet" <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: array var in libc/mingw.sh, typos]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <b045ac08fc9eac2e5ee3.1352898499@blackmint>
Patchwork-Id: 198901
2012-11-14 14:05:49 +01:00
Johannes Stezenbach
a8318facc4 libc/eglibc: enable rpc in eglibc-2.16+
While eglibc-2.16 recommends to use TI-RPC instead of the old sunrpc, the
old one can be included using a configure option. Since the user can still
use TI-RPC to override the libc implementation, we enable rpc unconditionally.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121102140404.GA7707@sig21.net>
Patchwork-Id: 196564
2012-11-02 04:04:04 +00:00
Yann E. MORIN"
baba086806 libc/uClibc: remove use of snapshots and specific date
We now have the ability to use a custom location, so supporting
snapshots or custom date is no longer needed. Let the user do the
required preparation in this case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-31 23:31:32 +01:00
David Holsgrove
5ed8715c9d libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <712995e3e719fbbe24af.1349931201@localhost.localdomain>
PatchWork-Id: 190794
2012-10-11 14:39:44 +10:00
Yann E. MORIN"
de0ef330c3 libc/newlib: remove getting from CVS
We now have the ability to use a custom local directory/tarball, so
it no longer makes sense to have the ability to use the CVS repository.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 22:40:48 +01:00
David Holsgrove
66a2b08680 libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d02252752d4dc5e68ae3.1349931202@localhost.localdomain>
PatchWork-Id: 190795
2012-10-11 14:39:45 +10:00
Yann E. MORIN"
8bcd5c689c cc/gcc: remove svn source
Since we now have the opportunity to use a custom local directory/tarball
as the source for gcc, it no longer makes sense to retrieve gcc ourselves
from its subversion repository.

Cc: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 00:30:47 +01:00
Yann E. MORIN"
79243c2f8d debug/gdb: remove ncurses cleanup
That's legacy code that was usefull when ncurses was installed
in the sysroot. Still it's not longer the case (it's installed
in a special dedicated directory), we can remove that piece of
code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 00:23:51 +01:00
David Holsgrove
35f55a7495 debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <9ea1b5021fc77582867f.1349931197@localhost.localdomain>
PatchWork-Id: 190791
2012-10-11 14:39:42 +10:00
David Holsgrove
33d3919c3e binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Change elf2flt CT_ELF2FLT_VERSION from 'head' to 'cvs' if cvs selected in config

Also remove hardcoded 'cvs-' from elf2flt component name, used in CT_Extract,
CT_Patch and as the CT_SRC_DIR location for the configure stage.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <288db3721a37844defa5.1349931196@localhost.localdomain>
PatchWork-Id: 190789
2012-10-11 14:39:42 +10:00
David Holsgrove
2ace8ed697 binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <7a604b5df9c84a1e20c3.1349931195@localhost.localdomain>
PatchWork-Id: 190788
2012-10-11 14:39:41 +10:00
David Holsgrove
6b8740dd6d cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom directory location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <f2272ac0f37cedd0bb91.1349931194@localhost.localdomain>
PatchWork-Id: 190787
2012-10-11 14:39:41 +10:00
Johannes Stezenbach
b8baed585d fix eglibc-2.16 manual build
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121022133228.GA16536@sig21.net>
Patchwork-Id: 193156
2012-10-22 03:32:28 +00:00
Yann E. MORIN"
8a1008cf4f kernel/linux: fix missing 'then'
Reported-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-17 21:21:44 +02:00