aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/cc/gcc.sh
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a symlink to LTO for binutilsAlexey Neyman2018-12-111-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>
* Set ALL_TARGET_CFLAGS initially for !MULTILIBAlexey Neyman2018-12-071-21/+23
| | | | | | Fixes #1107. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #985 from antmak/platform_headersAlexey Neyman2018-11-031-6/+5
|\ | | | | Use the platform headers in the pass-2 and canadian gcc stages
| * Use the platform headers in the pass-2 and canadian gcc stagesAnton Maklakov2018-06-121-6/+5
| |
* | Supply "very old" and "very new" glibc versionsAlexey Neyman2018-10-211-1/+5
| | | | | | | | | | | | | | | | ... as 1.0 and 99.99, respectively, to gcc configure. Fixes #1031. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman2018-06-051-3/+9
|/ | | | | | ... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
* cc/gcc: use correct sysroot arg for do_gcc_core_backendM1cha2018-02-121-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>
* Add an ability to verify the digest/signatureAlexey Neyman2017-09-271-1/+2
| | | | | | Fixes #611. Signed-off-by: Alexey Neyman <stilor@att.net>
* Workaround for static uClibc-ng issue with -lpthreadAlexey Neyman2017-09-031-2/+9
| | | | | | Also, preserve .config when running test-package.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
* Super-H multilib toolchain fixesAlexey Neyman2017-09-031-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>
* config: Add package versioning flexibilityNathan Chancellor2017-09-011-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>
* Fix glibc-ports with the new frameworkAlexey Neyman2017-08-261-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>
* Fix PPC64LE by supplying --with-glibc-versionAlexey Neyman2017-08-221-0/+10
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Save export status for environment varsAlexey Neyman2017-08-211-2/+2
| | | | | | | | ... and limit our modifications to our variables. Fixes #762. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use per-package list of formats to determine downloadsAlexey Neyman2017-08-191-1/+1
| | | | | | Fixes #789 Signed-off-by: Alexey Neyman <stilor@att.net>
* Resolve a few more TBDsAlexey Neyman2017-07-091-4/+5
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Some locations were missed while renaming kconfig symbolsAlexey Neyman2017-07-081-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>
* Building packages using the new frameworkAlexey Neyman2017-07-081-0/+1
| | | | | | (fails at building GMP off the VCS because it needs to run bootstrap scripts) Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-081-0/+1156
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* multi_cc: Prepare ct-ng for multiple compilersRay Donnelly2015-05-291-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>
* Only create ${CT_TARGET}-cc${ext} symlink if ${CT_TARGET}-gcc existsJohannes Pfau2015-04-071-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>
* scripts/*/*.sh: prioritize http downloadsBryan Hundven2015-02-011-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>
* gcc: Add Linaro GCC 4.9-2015.01 and GCC 4.8-2014.11Cristoforo Cataldo2015-01-161-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>
* cc/gcc: Remove copyheaders toggle in do_cc_core_backend, make defaultDavid Holsgrove2015-01-021-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>
* gcc and gdb: fix fetching linaro builds (part three)Bryan Hundven2014-12-081-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>
* gcc and gdb: fix fetching linaro builds (part two)Bryan Hundven2014-12-081-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>
* gcc and gdb: fix fetching linaro buildsBryan Hundven2014-12-081-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>
* scripts: Update download locationsBryan Hundven2014-12-081-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>
* cc/gcc: add option to enable/disable libsanitizerYann E. MORIN2014-08-311-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>
* cc/gcc: avoid passing --enable-multilib (take 2)Cody P Schafer2014-07-191-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>
* cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetalCody Schafer2014-05-091-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
* cc/gcc: avoid passing --enable-multilibCody Schafer2014-05-091-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
* cc/gcc: only build required core passesYann E. MORIN"2014-05-051-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>
* cc/gcc: add option to enable/disable decimal floatsYann E. MORIN"2014-01-041-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>
* cc/gcc: set CXXFLAGS at configure gccDaniel Dittmann2014-01-041-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
* cc/gcc: diable libsanitizer without NPTLYann E. MORIN"2014-01-041-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>
* cc/gcc: fix gcc 4.8 build for C library without threads supportNiels Penneman2014-01-031-0/+5
| | | | | | Signed-off-by: Niels Penneman <niels@penneman.org> Message-Id: <309df93f4354c80e05c9.1388743085@i7sb.local> Patchwork-Id: 306521
* cc/gcc: Add Fortran support for Baremetal buildZhenqiang Chen2013-11-191-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
* cc/gcc: Add support for golangYann E. MORIN"2013-11-081-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>
* cc/gcc: add preliminray support for 4.8Yann E. MORIN"2013-05-051-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>
* cc/gcc: Set CXX_FOR_BUILD for bare metal and canadian build.Zhenqiang Chen2013-05-131-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
* cc/gcc: modify to build gcc-4.8-based cross-toolsJongsung Kim2013-05-021-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
* cc/gcc: do not print 'core' or 'final'Yann E. MORIN"2012-11-251-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>
* cc: add a flag for skipping core passesYann Diorcet2012-11-221-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
* scripts: add BUILD/HOST extra cflags/ldflagsYann Diorcet2012-11-161-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
* cc/gcc: remove svn sourceYann E. MORIN"2012-10-301-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>
* cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove2012-10-111-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
* cc/gcc: do not print multilib for canadian-crossYann E. MORIN"2012-10-131-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
* scripts/gcc: Canadian Cross skip -print-multi-lib log outputDavid Holsgrove2012-10-041-10/+15
| | | | | | | | | | | | | | | | Attempting to ${CT_TARGET}-gcc -print-multi-lib will fail In do_cc_core_backend, for the final compiler in a canadian cross baremetal, warn that multi-libs cannot be determined In do_cc_backend, for either final compiler for a canadian cross, warn that multi-libs cannot be determined (Plus fixed CT_PREFIX_DIR in do_cc_backend to be ${prefix}) Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com> Message-Id: <CAM=EW8aQDoNx-CkJHjXBoDP4iTDJ8z5hh3=KhO5UTU6rp3Pj=w@mail.gmail.com> Patchwork-Id: 189053
* cc/gcc: Add the ability to build gcc from svnYann E. MORIN"2012-08-221-23/+42
| | | | | | | | I took some of the svn functionality from eglibc. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [yann.morin.1998@free.fr: fix the conditional test in build script] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>