summaryrefslogtreecommitdiff
path: root/scripts/build/cc/gcc.sh
AgeCommit message (Collapse)AuthorFilesLines
2019-02-13Implement an option to store downloads in subdirsAlexey Neyman1-2/+2
... following the buildroot model. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-15Canonicalize prefix dir and sysrootAlexey Neyman1-5/+14
... because GCC prints the sysroot with symlinks resolved. Fixes #892. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-11Add a symlink to LTO for binutilsAlexey Neyman1-0/+14
... so that ar can find the plugin even when invoked directly, not via the gcc-ar plugin. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07Set ALL_TARGET_CFLAGS initially for !MULTILIBAlexey Neyman1-21/+23
Fixes #1107. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-03Merge pull request #985 from antmak/platform_headersAlexey Neyman1-6/+5
Use the platform headers in the pass-2 and canadian gcc stages
2018-10-22Supply "very old" and "very new" glibc versionsAlexey Neyman1-1/+5
... as 1.0 and 99.99, respectively, to gcc configure. Fixes #1031. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-12Use the platform headers in the pass-2 and canadian gcc stagesAnton Maklakov1-6/+5
2018-06-05Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman1-3/+9
... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-12cc/gcc: use correct sysroot arg for do_gcc_core_backendM1cha1-1/+2
This fixes gccs LIMITS_H_TEST detection for baremetal targets so limits.h will be installed correctly. Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2017-09-28Add an ability to verify the digest/signatureAlexey Neyman1-1/+2
Fixes #611. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03Workaround for static uClibc-ng issue with -lpthreadAlexey Neyman1-2/+9
Also, preserve .config when running test-package.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03Super-H multilib toolchain fixesAlexey Neyman1-1/+1
1. On SuperH, configuring GCC with explicit variant of the CPU (like "sh4") limits the default set of multilibs to just that CPU and requires --with-multilib-list to change. Allow for "unspecified" variant, so that we can defer to GCC to determine the list. 2. Support toolchains with both endiannesses at the same time. 3. Add a SuperH/newlib sample 4. Add more flags processing for uClibc Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-01config: Add package versioning flexibilityNathan Chancellor1-2/+2
Some users (like myself) may want to omit the crosstool-NG version from the binaries' versioning output, as it can be incredibly long and not too helpful. Add a config option to disable it. The possible combinations are as follows: - crosstool-NG version (default) - crosstool-NG version - custom toolchain ID - Custom toolchain ID - No crosstool-NG version OR custom toolchain ID Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2017-08-26Fix glibc-ports with the new frameworkAlexey Neyman1-1/+3
While here, also consider patched by anything other than "bundled patches" as per-target sources. Add scary warnings in case of a failure. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-22Fix PPC64LE by supplying --with-glibc-versionAlexey Neyman1-0/+10
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-21Save export status for environment varsAlexey Neyman1-2/+2
... and limit our modifications to our variables. Fixes #762. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-19Use per-package list of formats to determine downloadsAlexey Neyman1-1/+1
Fixes #789 Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-10Resolve a few more TBDsAlexey Neyman1-4/+5
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Some locations were missed while renaming kconfig symbolsAlexey Neyman1-7/+6
... because there the symbols were constructer part by part. Also, remove cc.sh and source $(CT_CC).sh directly - we only build a single compiler at a time. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Building packages using the new frameworkAlexey Neyman1-0/+1
(fails at building GMP off the VCS because it needs to run bootstrap scripts) Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Fix the references to old config variablesAlexey Neyman1-0/+1156
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-05-29multi_cc: Prepare ct-ng for multiple compilersRay Donnelly1-911/+0
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-04-07Only create ${CT_TARGET}-cc${ext} symlink if ${CT_TARGET}-gcc existsJohannes Pfau1-2/+6
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-02-02scripts/*/*.sh: prioritize http downloadsBryan Hundven1-3/+5
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-01-16gcc: Add Linaro GCC 4.9-2015.01 and GCC 4.8-2014.11Cristoforo Cataldo1-12/+13
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-01cc/gcc: Remove copyheaders toggle in do_cc_core_backend, make defaultDavid Holsgrove1-8/+2
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>
2014-12-09gcc and gdb: fix fetching linaro builds (part three)Bryan Hundven1-1/+2
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-09gcc and gdb: fix fetching linaro builds (part two)Bryan Hundven1-1/+1
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-09gcc and gdb: fix fetching linaro buildsBryan Hundven1-2/+2
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-08scripts: Update download locationsBryan Hundven1-9/+10
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-08-31cc/gcc: add option to enable/disable libsanitizerYann E. MORIN1-3/+7
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-07-19cc/gcc: avoid passing --enable-multilib (take 2)Cody P Schafer1-3/+4
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-05-10cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetalCody Schafer1-1/+5
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-10cc/gcc: avoid passing --enable-multilibCody Schafer1-3/+3
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-05cc/gcc: only build required core passesYann E. MORIN"1-2/+2
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-01-04cc/gcc: add option to enable/disable decimal floatsYann E. MORIN"1-0/+10
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-04cc/gcc: set CXXFLAGS at configure gccDaniel Dittmann1-0/+2
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-04cc/gcc: diable libsanitizer without NPTLYann E. MORIN"1-0/+3
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-03cc/gcc: fix gcc 4.8 build for C library without threads supportNiels Penneman1-0/+5
Signed-off-by: Niels Penneman <niels@penneman.org> Message-Id: <309df93f4354c80e05c9.1388743085@i7sb.local> Patchwork-Id: 306521
2013-11-19cc/gcc: Add Fortran support for Baremetal buildZhenqiang Chen1-0/+10
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-08cc/gcc: Add support for golangYann E. MORIN"1-0/+1
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-05-05cc/gcc: add preliminray support for 4.8Yann E. MORIN"1-10/+22
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-13cc/gcc: Set CXX_FOR_BUILD for bare metal and canadian build.Zhenqiang Chen1-0/+1
>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-02cc/gcc: modify to build gcc-4.8-based cross-toolsJongsung Kim1-0/+5
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
2012-11-25cc/gcc: do not print 'core' or 'final'Yann E. MORIN"1-6/+6
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-22cc: add a flag for skipping core passesYann Diorcet1-0/+8
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-16scripts: add BUILD/HOST extra cflags/ldflagsYann Diorcet1-2/+13
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-10-29cc/gcc: remove svn sourceYann E. MORIN"1-23/+5
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-11cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove1-1/+9
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-13cc/gcc: do not print multilib for canadian-crossYann E. MORIN"1-10/+14
Previous import from patchwork missed one hunk (in cset #d8feb93b3e49) Apply it now. Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Patchwork-Id: 189053