summaryrefslogtreecommitdiffstats
path: root/package/gcc
Commit message (Collapse)AuthorAgeFilesLines
* package/gcc: bump to version 8.3.0Romain Naour2019-02-264-83/+3
| | | | | | | | | | | | Remove upsteam xtensa patches: https://github.com/gcc-mirror/gcc/commit/68ca69a4854af36c90531b33a4c540464dbc6a23 https://github.com/gcc-mirror/gcc/commit/972057cb254e355805bfcd4a47d5c6f743cb76f4 Tested using Toolchain-builder: https://gitlab.com/kubu93/toolchains-builder/pipelines/48904471 Signed-off-by: Romain Naour <romain.naour@smile.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* utils/check-package: warn about overridden variablesRicardo Martincoski2019-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the general case, appending values to variables is OK and also a good practice, like this: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR += value2 or this, when the above is not possible: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR := $(PACKAGE_VAR), value2 But this override is an error: |PACKAGE_VAR = value1 |PACKAGE_VAR = value2 as well this one: |ifeq ... |PACKAGE_VAR += value1 |endif |PACKAGE_VAR = value2 And this override is error-prone: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR = value2 Create a check function to warn about overridden variables. Some variables are likely to have a default value that gets overridden in a conditional, so ignore them. The name of such variables end in _ARCH, _CPU, _SITE, _SOURCE or _VERSION. After ignoring these variable names, there are a few exceptions to this rule in the tree. For them use the comment that disables the check. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Simon Dawson <spdawson@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Tested-by: Titouan Christophe <titouan.christophe@railnova.eu> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: remove unused HOST_GCC_FAKE_TESTSUITERomain Naour2018-12-102-2/+0
| | | | | | | | | HOST_GCC_FAKE_TESTSUITE was removed since commit [1]. [1] 545ca6a0f2f4e0d8b3812949476ac2856264b83c Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc/7.4.0: remove upstream patchRomain Naour2018-12-091-48/+0
| | | | | | | | | | | | | | | 0001-m68k-coldfire-pr68467.patch is already upstream and backported to gcc 7.4.0 [1]. [1] https://github.com/gcc-mirror/gcc/commit/2d1d94491cc66e240f9ca2845ec64e8ffe851c74 Fixes: https://gitlab.com/ymorin/buildroot/-/jobs/131924271 https://gitlab.com/ymorin/buildroot/-/jobs/131924272 Signed-off-by: Romain Naour <romain.naour@gmail.com> Reported-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: remove arm soft patchRomain Naour2018-12-081-45/+0
| | | | | | | | | | | | | | | | | The patch refers to [1] which says "Unfortuantely, arm-gcc defaults to generating code for armv5t." Since we always explicitly pass the target CPU for ARM, the default CPU shouldn't matter. As suggested by Arnout [2], a test based on qemu_arm_versatile_defconfig has been done without this patch and there is no regression. [1] https://sourceware.org/ml/crossgcc/2008-05/msg00009.html [2] http://lists.busybox.net/pipermail/buildroot/2018-May/222104.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: remove uclibc-conf patchRomain Naour2018-12-081-29/+0
| | | | | | | | | | | | | | | | This patch is present in Buildroot since a long time and has been rebased on several version of gcc without beqing upstreamed. Also it only concern contrib/regression, which is not used at all during the build... As suggested by Arnout [1], a test based on qemu_x86_defconfig has been done without this patch and there is no regression. [1] http://lists.busybox.net/pipermail/buildroot/2018-May/222104.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: bump to version 6.5.0Romain Naour2018-12-0822-567/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove upstream patches: 0002-fix-building-on-ppc64.patch https://github.com/gcc-mirror/gcc/commit/765527ad3725c5f3e82ab2b8e5031120b409983d 0003-libsanitizer-Use-pre-computed-size.patch https://github.com/gcc-mirror/gcc/commit/61f38c64c01a15560026115a157b7021ec67bd3b 942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch https://github.com/gcc-mirror/gcc/commit/b685411208e0aaa79190d54faf945763514706b8 943-sanitizer-linux.patch https://github.com/gcc-mirror/gcc/commit/8937b94d1a643fd9760714642296d034a45254a8 870-xtensa-fix-PR-target-82181.patch https://github.com/gcc-mirror/gcc/commit/dbbb83538168c6648b53f5e164c3a30beda6464f 871-xtensa-fix-PR-target-65416.patch https://github.com/gcc-mirror/gcc/commit/36f42654cbbc1df0e3d0040ba900c61980a8f8db 872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch using patch https://github.com/gcc-mirror/gcc/commit/9f149a1a929c0c6c22f572b1cd651c83ac83774c Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: bump to version 7.4.0Romain Naour2018-12-0814-302/+11
| | | | | | | | | | | | | | | | | | | | | | Remove upstream patches: 0002-fix-building-on-ppc64.patch https://github.com/gcc-mirror/gcc/commit/aa65a43516da1d48011ef621ed5988289711d99b 0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch https://github.com/gcc-mirror/gcc/commit/8709905244d50b9d81f85d534b21c29eb640078c 0003-xtensa-fix-PR-target-65416.patch https://github.com/gcc-mirror/gcc/commit/5dcbd70ec0a97505d6153fcbc7ef899b5a2ec7fc 0004-libsanitizer-Use-pre-computed-size.patch https://github.com/gcc-mirror/gcc/commit/61f38c64c01a15560026115a157b7021ec67bd3b 0005-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch https://github.com/gcc-mirror/gcc/commit/6ef0a00dea2564f46a568b8681d8efccb4834cda Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: fix URLs for ARC gcc/binutils/gdbEvgeniy Didin2018-12-063-2/+2
| | | | | | | | | | | | | | In commit cd9d58f1fc285bcc09f1e0e29ee300a8a9053053 ("toolchain: bumb ARC tools to arc-2018.09 release"), the ARC-specific binutils, gcc and gdb versions were updated to use the 2018.09 release. However, they are mistakenly pointing to a branch rather than a tag. This commit fixes that by using the proper release tag. Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com [Thomas: rework commit log] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Merge branch 'next'Peter Korsgaard2018-12-025-69/+5
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * package/gcc: enable __cxa_atexitAlexey Brodkin2018-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what GCC manual says [1]: -------------------------->8---------------------- --enable-__cxa_atexit Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. This option is currently only available on systems with GNU libc ... -------------------------->8---------------------- Important disadvantages of a simple atexit() are that [2]: -------------------------->8---------------------- 1999 C Standard only requires that the implementation support 32 registered functions, although most implementations support many more. More important it does not deal at all with the ability in most implementations to remove DSOs from a running program image by calling dlclose prior to program termination. -------------------------->8---------------------- Also it seems like all libc's we support in Buildroot (Glibc, uClibc and musl) support __cxa_at_exit() so enable it unconditionally. FWIW if we look around we'll see: 1. In OpenEmbedded it is enabled for everything except gcc-cross-initial: [3], [4] 2. In Crosstool-NG it is enabled by default: [5] 3. In OpenWrt it is disabled only for uClibc, otherwise enabled: [6] So I think we should be good with it as well. [1] https://gcc.gnu.org/install/configure.html [2] https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor-motivation [3] https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/gcc/gcc-configure-common.inc#L59 [4] https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/gcc/gcc-cross-initial.inc#L23 [5] https://github.com/crosstool-ng/crosstool-ng/blob/master/config/cc/gcc.in#L270 [6] https://github.com/openwrt/openwrt/blob/master/toolchain/gcc/common.mk#L170 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Nicolas Cavallari <Nicolas.Cavallari@green-communications.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Mark Corbin <mark.corbin@embecosm.com> Cc: Romain Naour <romain.naour@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Cc: Claudiu Zissulescu <claziss@synopsys.com> Cc: Cupertino Miranda <cmiranda@synopsys.com> Cc: Vineet Gupta <vgupta@synopsys.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: bumb ARC tools to arc-2018.09 releaseEvgeniy Didin2018-11-293-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit finally bumps ARC tools to the most recent arc-2018.09 release version. ARC GNU tools of version arc-2018.09 bring some quite significant changes like: * Binutils v2.31.1 with additional ARC patches * GCC 8.2.1 with additional ARC patches * glibc 2.28 with additional ARC patches More information on this release could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2018.09-release Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * toolchain: Bump ARC tools to arc-2018.09-rc2Evgeniy Didin2018-11-203-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit bumps ARC toolchain to arc-2018.09-rc2, which includes significant changes since arc-2018.09-rc1. We want to test how new toolchain-rc2 builds packages, so we can make fixes before release of toolcain. This makes us closer to toolchain release which will be in a few weeks. Please note that it is a release candidate and it might contain some breakages, please don't use it for production builds. Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain: Bump ARC tools to arc-2018.09-rc1Evgeniy Didin2018-11-184-68/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit bumps ARC toolchain to arc-2018.09-rc1. We want to test how new toolchain-rc1 builds packages, so we can make fixes before release of toolcain. ARC GNU tools of version arc-2018.09-rc1 bring some quite significant changes like: * Binutils v2.31.1 with additional ARC patches * GCC 8.2.1 with additional ARC patches * glibc 2.28 with additional ARC patches Please note that it is a release candidate and it might contain some breakages, please don't use it for production builds. Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | package/gcc: define _REENTRANT for RISC-V when -pthread is passedMark Corbin2018-11-241-0/+30
|/ | | | | | | | | | | | | The detection of pthread support fails on RISC-V unless _REENTRANT is defined. This commit backports a patch that is already in upstream gcc 8.x to gcc 7.x to define _REENTRANT when -pthread is passed. This will replace a number of package-specific fixes that have been introduced to define _REENTRANT. Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> [Thomas: tweak commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: fix xtensa uclinux code generationMax Filippov2018-11-093-0/+123
| | | | | | | | | | | xtensa-uclinux uses bFLT executable file format that cannot relocate fields representing offsets from data to code. C++ objects built as PIC use offsets to encode FDE structures. As a result C++ exception handling doesn't work correctly on xtensa-uclinux. Don't use PIC by default on xtensa-uclinux. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: Don't mess with test-suite exclusionAlexey Brodkin2018-11-034-379/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to exclude GCC's test-suite for quite some time now mostly for the sake of space reduction. But: 1. On each GCC version bump we need to revise that functionality as we need to accommodate changes in GCC sources and this couldn't be automated 2. The space reduction is significant, but not huge. The two test suites together take up 290MB, out of 660MB total for GCC (each of them times two because there is the -initial and -final copy). However, whenever we build GCC, we also have kernel headers (about 900MB) and a libc (e.g. glibc is 250MB). So at best, it saves less than 20%. 3. It doesn't really save on build time either. Below are timings of 2 runs on my laptop: a) Vanilla master: --------------------->8--------------------- time make host-gcc-final real 7m15.114s user 19m36.611s sys 2m26.927s --------------------->8--------------------- b) master + testsuite: --------------------->8--------------------- time make host-gcc-final real 7m59.860s user 20m21.668s sys 2m36.618s --------------------->8--------------------- From figures above it's seen that difference is ~45 seconds or ~10%. On both host-gcc-initial and -final we may save ~1.5 minutes... but these are not the only components we build and compared to a total toolchain build time IMHO it is not that much time to care especially traded for maintenance costs on GCC version bumps. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Cc: Romain Naour <romain.naour@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle <arnout@mind.be> [Arnout: add explanation about size impact.] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* package/gcc: remove BR2_GCC_SUPPORTS_FINEGRAINEDMTUNEThomas Petazzoni2018-10-213-15/+3
| | | | | | | | | | | | | Since commit 8f8e9162fae5fdc1788dcf33f02b20ddaa5e6846 ("package/gcc: do not mourn avr32 for too long..."), in which we dropped AVR32 support, the BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE is always 'y'. Therefore, it is totally useless to keep this option around, and this commit removes it, making the corresponding code unconditional along the way. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: introduce BR2_GCC_SUPPORTS_LIBCILKRTSThomas Petazzoni2018-10-212-2/+16
| | | | | | | | | | | | | | | | libcilkrts was introduced in gcc 4.9, and removed in gcc 8.x. Therefore, it does not make sense to pass --disable-libcilkrts in gcc 8.x and higher. This commit introduces BR2_GCC_SUPPORTS_LIBCILKRTS that allows the makefile code to know if the selected gcc version supports libcilkrts or not. This new option mainly allows to annotate the fact that libcilkrts exists in gcc [4.9, 7] and that once we have dropped support for those gcc versions, the libcilkrts related logic can be removed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: disable libcilkrts when there is no thread supportThomas Petazzoni2018-10-211-0/+5
| | | | | | | | | | | | | | | | | The libcilkrts configure script errors out with "Pthreads are required to build libcilkrts" if the C library doesn't have thread support. To fix that, we disable libcilkrts when thread support is not available. This issue was not noticed until now, because we only regularly build a no-thread toolchain for ARM, and libcilkrts was enabled on ARM only starting in gcc 7.x. This fixes the build of no-thread toolchains on architectures where libcilkrts is supported, i.e x86/x86-64, ARM and Sparc. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: drop BR2_GCC_TARGET_CPU_REVISION optionThomas Petazzoni2018-10-011-4/+0
| | | | | | | | | | | In commit 325bb37942f8d3826dab9dc6e88b25234e67a2cf, support for the Blackfin architecture was removed. This was our only use of BR2_GCC_TARGET_CPU_REVISION, and since this config option somewhat complicates the calculation of the --with-cpu/-mcpu option values, let's drop it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: allow GCC target options to be optionally overwrittenMark Corbin2018-09-231-15/+12
| | | | | | | | | | | | | The BR2_GCC_TARGET_* configuration variables are copied to corresponding GCC_TARGET_* variables which may then be optionally modified or overwritten by architecture specific makefiles. All makefiles must use the new GCC_TARGET_* variables instead of the BR2_GCC_TARGET_* versions. Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> [Thomas: simplify include of arch/arch.mk] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: glibc >= 2.27 needs gcc >= 5 on aarch64Romain Naour2018-09-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the following defconfig: BR2_aarch64=y BR2_BINUTILS_VERSION_2_28_X=y BR2_GCC_VERSION_4_9_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y The build fail with this error: In file included from ../sysdeps/ieee754/flt-32/math_config.h:23:0, from ../sysdeps/ieee754/flt-32/e_expf.c:29: ../sysdeps/aarch64/fpu/math_private.h: In function 'roundtoint': ../sysdeps/aarch64/fpu/math_private.h:311:3: error: implicit declaration of function 'vrndn_f64' [-Werror=implicit-function-declaration] return vget_lane_f64 (vrndn_f64 (vld1_f64 (&x)), 0); ^ cc1: all warnings being treated as errors vrndn_f64 function has been introduced in glibc code since version 2.27 [1]. So we can't build a glibc based toolchain with gcc 4.9 anymore. Add a new dependency in the toolchain infra to avoid selecting glibc toolchain using gcc 4.9. [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=72aa623345ada1276ed89dbc00fdff9639cb8eaf Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Merge branch 'next'Peter Korsgaard2018-09-075-0/+287
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * package/gcc: fix build of gcc-4.9.4 with glibc-2.28Bernd Kuhls2018-08-141-0/+71
| | | | | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/gcc: fix build of gcc-5.5.0 with glibc-2.28Bernd Kuhls2018-08-141-0/+72
| | | | | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/gcc: fix build of gcc-6.4.0 with glibc-2.28Bernd Kuhls2018-08-141-0/+72
| | | | | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/gcc: fix build of gcc-7.3.0 with glibc-2.28Bernd Kuhls2018-08-141-0/+72
| | | | | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * package/gcc: renumber patchBernd Kuhls2018-08-141-0/+0
| | | | | | | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | package/gcc: xtensa: fix atomic NAND code generationMax Filippov2018-09-053-0/+117
|/ | | | | | | | | xtensa gcc incorrectly generates code for atomic NAND operation as ~a1 & a2 instead of ~(a1 & a2). Fix that. Backported from: r264087 Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* gcc: Fix building on ppc64le GCC 8 hostJoel Stanley2018-07-312-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building on a ppc64le host we see this error: build/genmatch --gimple ../../gcc/match.pd \ > tmp-gimple-match.c ../../gcc/match.pd:120:1 error: expected (, got NAME negative value by 0 gives -0, not +0. */ This was reported upstream[1] and fixed on the GCC 6 [2] and GCC 7 [3] branches: Backport from mainline 2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * lex.c (search_line_fast): Remove illegal coercion of an unaligned pointer value to vector pointer type and replace with use of __builtin_vec_vsx_ld () built-in function, which operates on unaligned pointer values. The patches included in Buildroot contain just the code changes, and not the changelog, to make it easer to manage backporting. Tested on Ubuntu Cosmic ppc64le. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86162 [2] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=261621 [3] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=262243 Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: bump to version 8.2.0Romain Naour2018-07-278-764/+3
| | | | | | | Remove upstream patches. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: Backport code generation fix for ARC700Alexey Brodkin2018-07-171-0/+355
| | | | | | | | | | | | | | | | | Fixes assembler failure when compiling for ARC700 only: ------------------------>8--------------------- {standard input}: Assembler messages: {standard input}:213: Error: operand out of range (128 is not between -128 and 127) make[2]: *** [scripts/Makefile.build:317: net/ipv4/xfrm4_mode_tunnel.o] Error 1 ------------------------>8--------------------- This is an upstream fix scheduled for the next release, see https://github.com/gcc-mirror/gcc/commit/5afc07eeb18fb7dd351ac981367bce721ca22af3 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: backport arm acle bugfix 81497Gaël PORTAY2018-06-282-0/+629
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler g++ reports an error when the header arm_acle.h is included from version 7. This patch backports the bugfix upstreamed [1] for gcc-7 and gcc-8. Fixes: In file included from ../../include/QtCore/5.10.1/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:333, from ../../include/QtCore/5.10.1/QtCore/private/qsimd_p.h:1, from global/qlogging.cpp:58: /home/gportay/src/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/8.1.0/include/arm_acle.h: In function ‘void __arm_ldc(unsigned int, unsigned int, const void*)’: /home/gportay/src/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/8.1.0/include/arm_acle.h:48:46: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive] return __builtin_arm_ldc (__coproc, __CRd, __p); ^~~ <built-in>: note: initializing argument 3 of ‘void __builtin_arm_ldc(unsigned int, unsigned int, const int*)’ ... Makefile:196: recipe for target 'sub-corelib-make_first' failed make[3]: *** [sub-corelib-make_first] Error 2 Makefile:48: recipe for target 'sub-src-make_first' failed make[2]: *** [sub-src-make_first] Error 2 package/pkg-generic.mk:229: recipe for target '/home/gportay/src/buildroot/output/build/qt5base-5.10.1/.stamp_built' failed make[1]: *** [/home/gportay/src/buildroot/output/build/qt5base-5.10.1/.stamp_built] Error 2 Makefile:16: recipe for target '_all' failed make: *** [_all] Error 2 [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81497 Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: bump ARC tools to arc-2018.03 releaseEvgeniy Didin2018-06-255-2/+2
| | | | | | | | | | | | | | | | | | | This commit finally bumps ARC tools to the most recent arc-2018.03 release version. ARC GNU tools of version arc-2018.03 bring some quite significant changes like: * Binutils v2.29.51 with additional ARC patches * GCC 7.3.1 with additional ARC patches * GDB 8.0.50 with ARC patches More information on this release could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2018.03-release Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* gcc: fix uclibc runtime issue with gcc-8 for xtensaMax Filippov2018-06-203-0/+303
| | | | | | | | | | | | | | | | | | | | | | | | gcc-8.1 for xtensa miscompiles uClibc dynamic linker due to gcc PR target/65416. The build completes successfully, but the binary is non-functional because the following fragment in the _dl_get_ready_to_run in ld-uClibc.so overwrites register spill area on stack causing register corruption in the previous call frame and a subsequent crash: 419f: f0c1b2 addi a11, a1, -16 41a2: 1ba9 s32i.n a10, a11, 4 41a4: 0bc9 s32i.n a12, a11, 0 41a6: 5127f2 l32i a15, a7, 0x144 41a9: 1765b2 s32i a11, a5, 92 41ac: 4e2782 l32i a8, a7, 0x138 41af: 146af2 s32i a15, a10, 80 41b2: 001b10 movsp a1, a11 The crash terminates the init process and causes kernel panic. The fix prevents reordering of movsp opcode and any access to the stack frame memory and is applicable to all existing gcc versions. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: switch to gcc 6.x as the defaultRomain Naour2018-05-301-1/+1
| | | | | | | | | | | | | | Even if gcc 6 is still maintained for some time (gcc 6.5 is pending), switch to gcc 7.x since it has been released since 2017-05-02 and gcc 8.x is available since 2018-05-02. We have been having toolchains in the autobuilders with gcc 7.x for a while, so the vast majority of the problems should have already been solved. Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/gcc: add support for gcc 8.1.0Romain Naour2018-05-306-5/+238
| | | | | | | | | | | | | | | | | | | | | | | | Remove 0860-cilk-fix-build-without-wchar.patch since cilk has been removed from gcc. Rebase 0900-remove-selftests.patch on gcc 8.1.0 Remove upstream patches 0001-m68k-coldfire-pr68467.patch and 0892-microblaze-Revert.patch. Use bz2 release tarball only for gcc 4.9 since all other version now use xz tarball. Runtime tested on x86_64 with binutils 2.30, gcc 8.1.0, kernel headers 4.14 and glibc 2.27. Buildtime tested with glibc with all supported architectures. Buildtime tested on x86_64 with musl and uClibc-ng Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: Bump ARC tools to arc-2018.03-rc2Evgeniy Didin2018-05-265-2/+2
| | | | | | | | | | | | | | | | | This commit bumps ARC toolchain to arc-2018.03-rc2, which includes significant changes since arc-2018.03-rc1. We want to test how new toolchain-rc2 builds packages, so we can make fixes before release of toolcain. This makes us closer to toolchain release which will be in a few weeks. Please note that it is a release candidate and it might contain some breakages, please don't use it for production builds. Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: remove Blackfin patchesThomas Petazzoni2018-04-154-2080/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain, gcc, gdb, binutils, uclibc: remove Blackfin codeThomas Petazzoni2018-04-153-52/+0
| | | | | | | This commit removes Blackfin related code from all toolchain code and components. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* toolchain: Bump ARC tools to arc-2018.03-rc1Evgeniy Didin2018-04-126-51/+2
| | | | | | | | | | | | | | | | | | | | This commit bumps ARC toolchain to arc-2018.03-rc1. We want to test how new toolchain-rc1 builds packages, so we can make fixes before release of toolcain. ARC GNU tools of version arc-2018.03-rc1 bring some quite significant changes like: * Binutils v2.29.51 with additional ARC patches * GCC 7.3.1 with additional ARC patches Please note that it is a release candidate and it might contain some breakages, please don't use it for production builds. Signed-off-by: Evgeniy Didin <didin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* gcc: fix HOST_GCC_COMMON_WRAPPER_TARGET_FLOAT_ABI typosThomas Petazzoni2018-04-091-2/+2
| | | | | | | | | | | | | The HOST_GCC_COMMON_WRAPPER_TARGET_FLOAT_ABI variable was incorrectly used as HOST_GCC_COMMON_WRAPPER_TARGET_FLOATABI_, which would always be empty. In practice, this block of code is only used on Blackfin (which has BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS unset) and Blackfin doesn't use float-abi, so this block of code is in fact useless. But even if it's useless, it's better to have it without typos. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package: share downloaded files for big packagesYann E. MORIN2018-04-022-0/+7
| | | | | | | | | | | | Theses packages are given as an example of the use of the *_DL_SUBDIR feature. There maybe other packages that would benefit from that feature, they would need to be added on a case by case basis. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* packages: use new $($PKG)_DL_DIR) variableMaxime Hadjinlian2018-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the transition into a new directory structure for DL_DIR. This commit has been generated with the following scripts: for i in $(find . -iname "*.mk"); do if ! grep -q "\$(DL_DIR)" ${i}; then continue fi pkg_name="$(basename $(dirname ${i}))" [ "${pkg_name}" = "package" ] && continue raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_') pkg_dl_dir="${raw_pkg_name}_DL_DIR" sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i} done Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add the real gcc bugfix for m68k from upstreamWaldemar Brodkorb2018-02-258-84/+192
| | | | | Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* gcc: or1k: use 20170218 tag instead of branchPeter Korsgaard2018-02-057-2/+2
| | | | | | | | | | | | | | | | As pointed out by Joel Stanley: https://patchwork.ozlabs.org/patch/863011/ Github now longer provides the exact same tarball for the or1k musl-5.4.0 tarball, breaking the build. Even more, musl-5.4.0 is the name of a git branch, not a tag. Fix both problems by changing to the or1k-musl-5.4.0-20170218 tag, which points to the exact same git commit. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Tested-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: bump 7.x series to 7.3.0Romain Naour2018-01-2810-85/+3
| | | | | | | | | | | Remove upstream patches: 0870-xtensa-fix-PR-target-82181.patch 0893-ARC-Configure-script-to-allow-non-uclibc-based-tripl.patch See: https://www.mail-archive.com/gcc@gcc.gnu.org/msg84336.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'next'Thomas Petazzoni2017-12-013-22/+63
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merges the next branch accumulated during the 2017.11 release cycle back into the master branch. A few conflicts had to be resolved: - In the DEVELOPERS file, because Fabrice Fontaine was added as a developer for libupnp in master, and for libupnp18 in next. Resolution is simple: add him for both. - linux/Config.in, because we updated the 4.13.x release used by default in master, while we moved to 4.14 in next. Resolution: use 4.14. - package/libupnp/libupnp.hash: a hash for the license file was added in master, while the package was bumped into next. Resolution: keep the hash for the license file, and keep the hash for the newest version of libupnp. - package/linux-headers/Config.in.host: default version of the kernel headers for 4.13 was bumped to the latest 4.13.x in master, but was changed to 4.14 in next. Resolution: use 4.14. - package/samba4/: samba was bumped to 4.6.11 in master for security reasons, but was bumped to 4.7.3 in next. Resolution: keep 4.7.3. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * gcc: allow the selection of upstream GCC 7.x for ARCAlexey Brodkin2017-11-293-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream gcc now has support for ARC, as of 7.x, with 7.2 being usable, so let's allow its selection. GCC from Synopsys GitHub still has a lot of fixes and improvements most of which will be a part of the next upstream release but let's see how it goes and if we see vanilla GCC doesn't require way too many back-ported patches we'll be able to get rid of Synopsys GitHub here at all. As of today the only really required back-port is the one for non-uClibc libc. Back-ported from upstream master with help of: -------------------->8-------------------- git format-patch 927c0132251f -1 -- . ':!gcc/ChangeLog' ':!libgcc/ChangeLog' -------------------->8-------------------- Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud