Commit Graph

3803 Commits

Author SHA1 Message Date
Bryan Hundven
cedb0166a9 Merge pull request #123 from jmlemetayer/master
autoconf: Update sub directory name
2015-06-23 07:01:27 -07:00
Erico Nunes
14cc1cb28e functions: write permission in config.{guess,sub}
avr-libc doesn't have write permissions in these by default in the 1.8.1
tar release, this caused an error during build with
CT_OVERIDE_CONFIG_GUESS_SUB enabled.

chmod u+w them before overriding to avoid an this error.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:54:16 -03:00
Erico Nunes
11646447fa binutils: patch to support -C for AVR memory usage
Distribution avr toolchains commonly add a patch to binutils' size to
enable a custom "-C" option that shows AVR memory usage.
This patch is specific to the AVR architecture.
In order to make the crosstool-ng AVR toolchain compatible with existing
distribution toolchains, this patch is necessary.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:54:00 -03:00
Erico Nunes
219c5e932f functions: add support for arch-specific patch
Add support for applying arch-specific patches found in
"patches/${pkgname}/${version}/${CT_ARCH}".

This is needed for applying a popular binutils patch specific for the
AVR architecture but which isn't isolated for AVR in binutils' code.
In this case, applying it for every architecture would end up bloating
binutils' "size" options with AVR specifics.

This feels like a bit of a hack but it is easy enough to support with
current crosstool-ng infrastructure, seems like worth it for this case.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:43 -03:00
Erico Nunes
6da2fde11e avr: add avr toolchain config sample
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.

Some patches are required in avr-libc for a toolchain with gcc 5.x to
work. These patches are still not part of any avr-libc release version,
so the config sample currently forces 4.9.x to avoid requiring to clone
avr-libc trunk.

References:
    https://savannah.nongnu.org/bugs/?44574
    https://gcc.gnu.org/gcc-5/changes.html

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:18 -03: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
Jean-Marie Lemetayer
023dfee9b4 autoconf: Update sub directory name
Due to patch 0e45cdf, the VERSION string has changed. And so, the the sub
directory names has changed too:

From 'ct-ng.1.21.0' to 'ct-ng.crosstool-ng-1.21.0-xx-yyyyyyy'

This patch rename the sub directory to: 'crosstool-ng-1.21.0-xx-yyyyyyy'

Signed-off-by: Jean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com>
2015-06-18 09:48:02 +02:00
Bryan Hundven
baceedd239 Merge pull request #122 from bhundven/update_kernels
kernel: Stable kernel updates
2015-06-15 10:20:48 -07:00
Bryan Hundven
8561caa8d6 kernel: Stable kernel updates
4.0.4     -> 4.0.5
3.18.14   -> 3.18.16
3.14.43   -> 3.14.44
3.12.43   -> 3.12.44
3.10.79   -> 3.10.80
2.6.32.66 -> 3.6.32.67

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-15 10:16:18 -07:00
Bryan Hundven
c45cfb5162 Merge pull request #121 from bhundven/no_symlinks_in_patch_directory
patches: No symlinks in patch directory
2015-06-14 11:08:32 -07:00
Bryan Hundven
7226fc2ac1 patches: No symlinks in patch directory
With newer version of the patch program, it no longer follows symlinks:

========================================================================
a/patch-2.7.4-x86_64-1.txz:  Upgraded.
  Patch no longer follows symbolic links to input and output files.
This
  ensures that symbolic links created by git-style patches cannot cause
  patch to write outside the working directory.
  For more information, see:
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1196
  (* Security fix *)
========================================================================

This copies patches/glibc/2.20 to patches/glibc/linaro-2.20-2014.11.

This change also closes #51

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-14 11:03:13 -07:00
Bryan Hundven
062657413c Merge pull request #118 from enunes/master
test-suite: define $tmpdir to $TOPDIR
2015-06-10 12:43:38 -07:00
Erico Nunes
f1b813c312 test-suite: define $tmpdir to $TOPDIR
The missing definition of $tmpdir caused it to default to /tmp, which
may cause problems when testcases generate temporary files in the
current directory ($TOPDIR) and then try to access them at $tmpdir.

Errors such as the following were reported in test-suite runs for both
arm and powerpc toolchains due to $tmpdir pointing to /tmp and files
being generated in $TOPDIR:

  error: could not open dump file '/tmp/dump1/dump-noaddr.c.011t.cfg':
  No such file or directory
  FAIL: gcc.c-torture/unsorted/dump-noaddr.c,  -O0   -dumpbase
  dump1/dump-noaddr.c -DMASK=1 -x c --param ggc-min-heapsize=1
  -fdump-ipa-all -fdump-rtl-all -fdump-tree-all -fdump-noaddr

  FAIL: gcc.dg/tree-prof/ic-misattribution-1.c execution:
  file ic-misattribution-1.gcda does not exist,  -fprofile-generate
  -D_PROFILE_GENERATE

Signed-off-by: Erico Nunes <erico.nunes@datacom.ind.br>
2015-06-10 16:20:45 -03:00
Bryan Hundven
22e39cc661 Merge pull request #117 from yann-morin-1998/yem/arch-with-cpu-with-tune
arch: do not allow specifying both --with-cpu and --with-tune
2015-06-10 11:57:58 -07:00
Yann E. MORIN
11acb6da21 arch: do not allow specifying both --with-cpu and --with-tune
Similarly to what we've just done to prevent both --with-arch and
--with-cpu, we do the same to prevent using both --with-cpu and
--with-tune at the same time, since --with-cpu should fully imply
the CPU to tune for (and gcc now errors out when both are specified.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2015-06-10 20:56:12 +02:00
Bryan Hundven
8534a138ef Merge pull request #113 from yann-morin-1998/yem/arch-arm-with-cpu-with-cpu
arch: do not allow specifying both --with-arch and --with-cpu
2015-06-10 09:27:50 -07:00
Yann E. MORIN
8a2eb07cf1 arch: do not allow specifying both --with-arch and --with-cpu
Normally, a specific CPU fully implies the architecture level. For
example, a cortec-a8 is forcibly an armv7, so spwecifying both is
redundant, and even dangerous (as incompatible values may be passed).

So far, gcc was pretty happy when both were specified at the same time,
and some time ago, it started being a warning, and only recently was it
turned into a hard error.

So, hide the architecture level prompt when a CPU has been specified.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-06-08 22:42:38 +02:00
Bryan Hundven
334c22a4cc Merge pull request #111 from bhundven/update_versioning
autoconf: Update version numbering
2015-06-03 12:33:38 -07:00
Bryan Hundven
0e45cdf624 autoconf: Update version numbering
This change removes the static .version file, and moves to using the git
tag as the version number, the change number if the current commit is
newer then the latest tag, and '-dirty' if there are changes to the git
repository since the last commit that are uncommitted.

This helps us in the troubleshooting process to identify if the user is:
* using a released version (i.e.: 1.21.0)
* using a clone from git (i.e.: 1.21.0-29-13e14f)
* using a clone from git with local uncommitted changes (i.e.: 1.21.0-29-13e14f-dirty)

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-06-03 12:32:34 -07:00
Bryan Hundven
a0fb7660f8 Merge pull request #110 from bhundven/gcc_remove_enable_c99
gcc: Remove --enable-c99
2015-06-03 12:27:52 -07: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
Bryan Hundven
542f126b5b Merge pull request #109 from bhundven/fix_newlib_eabihf_tuple
newlib/patch: Add eabihf patch
2015-06-02 12:12:59 -07:00
Bryan Hundven
1c39c1729f newlib/patch: Add eabihf patch
This patch gets newlib 1.20.0 to work with eabihf tuple.

This commit closes #23

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 12:12:00 -07:00
Bryan Hundven
a3aec00547 Merge pull request #108 from bhundven/new_musl_patches
gcc/patches: Add musl patches to gcc 5.1.0
2015-06-02 12:01:07 -07:00
Bryan Hundven
c28b4f1ceb Merge pull request #107 from bhundven/remove_experimental_musl_patches
Remove support for experimental patches and musl patches
2015-06-02 12:00:59 -07:00
Bryan Hundven
f680c00283 Merge pull request #58 from dirkhusemann/master
Update functions to grok symlinks
2015-06-02 12:00:49 -07:00
Bryan Hundven
b365649a8b gcc/patches: Add musl patches to gcc 5.1.0
This commit adds new musl patches from gcc-6 (in development) to
gcc-5.1.0.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 11:59:20 -07:00
Bryan Hundven
67e6896c2b Remove support for experimental patches and musl patches
This functionality was provided so that crosstool-ng could have a
further set of patches considered experimental and unsupported.
Now that musl-libc support is making it's way upstream in gcc, I'm
removing this support and the experimental musl patches.

In later commits, backports from gcc upstream will be added to the
supported patch sets to support musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 10:47:58 -07:00
Bryan Hundven
2f135c9f24 Merge pull request #106 from bhundven/fix_gcc_5_1_knob
config/gcc: Fix gcc 5.1.0 version knob
2015-06-02 10:01:29 -07:00
Bryan Hundven
98a33a63b7 config/gcc: Fix gcc 5.1.0 version knob
This change makes the 5.1.0 version knob consistant with previous gcc
versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 10:00:18 -07:00
Bryan Hundven
935ee41fad Merge pull request #105 from bhundven/update_musl
musl: Update versions
2015-06-02 09:57:22 -07:00
Bryan Hundven
671c918820 musl: Update versions
This commit updates the version knobs so that oldconfig does the right
thing when we bump versions.

Also, we update stable to 1.0.5 and experimental to 1.1.9.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:55:29 -07:00
Bryan Hundven
0f414bca9f Merge pull request #104 from bhundven/fix_multi-cc_gcc_in
config/gcc: Fix missing update to gcc.in
2015-06-02 09:53:10 -07:00
Bryan Hundven
51f1829803 config/gcc: Fix missing update to gcc.in
In the patch series for multi_cc, some version knobs were missed.

This patch fixes this.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:51:34 -07:00
Bryan Hundven
2cac85710d Merge pull request #103 from bhundven/update_addtoolversion
addToolVersion: multi_cc: update addToolVersion
2015-06-02 09:36:55 -07:00
Bryan Hundven
f3975693b0 addToolVersion: multi_cc: update addToolVersion
Since gcc moved from CC_ to CC_GCC_, addToolVersion neeeded to be
updated.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:35:23 -07:00
Dirk Husemann
0130065c0a Update functions to grok symlinks
when specifying a custom kernel provided as a tar ball, the tar ball gets symlinked. the -e test will fail.

Signed-off-by: Dirk Husemann <dirk@d2h.net>
2015-06-02 07:45:57 +02:00
Bryan Hundven
a2adc4386e Merge pull request #102 from yann-morin-1998/yem/populate
populate: also search for gconv modules
2015-06-01 19:38:06 -07:00
Bryan Hundven
031f552190 Merge pull request #30 from diorcety-ctng/multi_cc
Add multiple compiler structure
2015-06-01 19:33:20 -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
9cdbc7b199 showSamples: Update showSamples.sh for multiple compilers
This change adds support to show samples for multiple compilers.

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:22 +01:00
Bryan Hundven
fd793b11c8 Merge pull request #99 from bhundven/ncurses_gcc5_fix
ncurses: Add gcc5 build patch
2015-06-01 09:21:07 -07:00
Yann E. MORIN
fb321268f7 populate: also search for gconv modules
The gconv modules are present in the (e)glibc toolchains, and some
applications directly link with one or more of those modules (even
though the classic way of using them is by dlopen()ing them).

So, also look in /usr/lib/gconv when searching for libraries.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-05-31 21:23:36 +02:00
Ray Donnelly
541199de3a config: Add config support for multiple compilers
This change updates the config to support multiple compilers by moving
CC_.* to CC_GCC_.* to make room for other compilers.

We also update gen_in_frags.sh to check for a default cc.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-29 21:49:33 +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
Bryan Hundven
73fc3a4d82 ncurses: Add gcc5 build patch
This patch comes from here:
http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2015-April/070101.html

This message explains the error:
http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2015-April/070099.html

This commit closes #98

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-29 11:00:13 -07:00