summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-06-21binutils: patch to support -C for AVR memory usageErico Nunes1-0/+536
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-21functions: add support for arch-specific patchErico Nunes1-3/+4
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-21avr: add avr toolchain config sampleErico Nunes2-0/+7
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-21avr-libc: add support for avr-libc C libraryErico Nunes12-1/+165
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-21avr: add support for AVR 8-bit architectureErico Nunes4-0/+32
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-15Merge pull request #122 from bhundven/update_kernelsBryan Hundven1-12/+12
kernel: Stable kernel updates
2015-06-15kernel: Stable kernel updatesBryan Hundven1-12/+12
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-14Merge pull request #121 from bhundven/no_symlinks_in_patch_directoryBryan Hundven2-1/+14
patches: No symlinks in patch directory
2015-06-14patches: No symlinks in patch directoryBryan Hundven2-1/+14
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-10Merge pull request #118 from enunes/masterBryan Hundven1-0/+1
test-suite: define $tmpdir to $TOPDIR
2015-06-10test-suite: define $tmpdir to $TOPDIRErico Nunes1-0/+1
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-10Merge pull request #117 from yann-morin-1998/yem/arch-with-cpu-with-tuneBryan Hundven1-0/+1
arch: do not allow specifying both --with-cpu and --with-tune
2015-06-10arch: do not allow specifying both --with-cpu and --with-tuneYann E. MORIN1-0/+1
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-10Merge pull request #113 from yann-morin-1998/yem/arch-arm-with-cpu-with-cpuBryan Hundven1-0/+1
arch: do not allow specifying both --with-arch and --with-cpu
2015-06-08arch: do not allow specifying both --with-arch and --with-cpuYann E. MORIN1-0/+1
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-03Merge pull request #111 from bhundven/update_versioningBryan Hundven2-2/+4
autoconf: Update version numbering
2015-06-03autoconf: Update version numberingBryan Hundven2-2/+4
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-03Merge pull request #110 from bhundven/gcc_remove_enable_c99Bryan Hundven1-1/+0
gcc: Remove --enable-c99
2015-06-03gcc: Remove --enable-c99Bryan Hundven1-1/+0
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-02Merge pull request #109 from bhundven/fix_newlib_eabihf_tupleBryan Hundven1-0/+12
newlib/patch: Add eabihf patch
2015-06-02newlib/patch: Add eabihf patchBryan Hundven1-0/+12
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-02Merge pull request #108 from bhundven/new_musl_patchesBryan Hundven10-0/+825
gcc/patches: Add musl patches to gcc 5.1.0
2015-06-02Merge pull request #107 from bhundven/remove_experimental_musl_patchesBryan Hundven44-3872/+4
Remove support for experimental patches and musl patches
2015-06-02Merge pull request #58 from dirkhusemann/masterBryan Hundven1-1/+1
Update functions to grok symlinks
2015-06-02gcc/patches: Add musl patches to gcc 5.1.0Bryan Hundven10-0/+825
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-02Remove support for experimental patches and musl patchesBryan Hundven44-3872/+4
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-02Merge pull request #106 from bhundven/fix_gcc_5_1_knobBryan Hundven1-3/+2
config/gcc: Fix gcc 5.1.0 version knob
2015-06-02config/gcc: Fix gcc 5.1.0 version knobBryan Hundven1-3/+2
This change makes the 5.1.0 version knob consistant with previous gcc versions. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02Merge pull request #105 from bhundven/update_muslBryan Hundven1-6/+6
musl: Update versions
2015-06-02musl: Update versionsBryan Hundven1-6/+6
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-02Merge pull request #104 from bhundven/fix_multi-cc_gcc_inBryan Hundven1-50/+50
config/gcc: Fix missing update to gcc.in
2015-06-02config/gcc: Fix missing update to gcc.inBryan Hundven1-50/+50
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-02Merge pull request #103 from bhundven/update_addtoolversionBryan Hundven1-1/+1
addToolVersion: multi_cc: update addToolVersion
2015-06-02addToolVersion: multi_cc: update addToolVersionBryan Hundven1-1/+1
Since gcc moved from CC_ to CC_GCC_, addToolVersion neeeded to be updated. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02Update functions to grok symlinksDirk Husemann1-1/+1
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-02Merge pull request #102 from yann-morin-1998/yem/populateBryan Hundven1-2/+2
populate: also search for gconv modules
2015-06-02Merge pull request #30 from diorcety-ctng/multi_ccBryan Hundven11-173/+252
Add multiple compiler structure
2015-06-01test_suite: Update gcc test_suite for multiple compilersRay Donnelly1-4/+4
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-01gdb: Update 300-gdb.sh for multiple compilersRay Donnelly1-4/+4
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-01cc: Update 100-gcc.sh for multiple compilersRay Donnelly1-70/+70
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-01scripts: Update crosstool-NG internals for multiple compilers.Ray Donnelly2-30/+32
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-01showSamples: Update showSamples.sh for multiple compilersRay Donnelly1-4/+18
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-01Merge pull request #99 from bhundven/ncurses_gcc5_fixBryan Hundven1-0/+39
ncurses: Add gcc5 build patch
2015-05-31populate: also search for gconv modulesYann E. MORIN1-2/+2
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-29config: Add config support for multiple compilersRay Donnelly4-60/+65
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-29multi_cc: Prepare ct-ng for multiple compilersRay Donnelly3-1/+59
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-29ncurses: Add gcc5 build patchBryan Hundven1-0/+39
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-25Merge pull request #95 from bhundven/update-ctng1.21Bryan Hundven1-1/+1
Update version string to 1.21.0
2015-05-25Update version string to 1.21.0crosstool-ng-1.21.0Bryan Hundven1-1/+1
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-25Merge pull request #94 from bhundven/update_kernelBryan Hundven1-152/+16
kernel: Update versions. Remove older kernels