Commit Graph

579 Commits

Author SHA1 Message Date
Mark Hatle
91870e9277 gcc: Fix internal compiler error for PPC test case "gcc.dg/vmx/7d-02.c"
Fix an internal compiler error on PPC from building a specific test:

$ $CC -S 7d-02.c
7d-02.c: In function â:
7d-02.c:11:5: internal compiler error: in copy_to_mode_reg, at explow.c:612
     vec_st(v, i*16,p);
     ^~~~~~

The failure appears to happen on all optimizations levels as well.

(From OE-Core rev: b042347ee8cdbd2dfb0c2f616a94c4cca4b0ecd1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:17 +00:00
Mark Hatle
6c6c744457 gcc: Fix test case issue when SSE is not enabled
Whenever "-mno-sse" is used, "-mfpmath" should be set to 387.

The test case should be modified accordingly as below:

/* { dg-additional-options "-mno-sse -mfpmath=387 " { target { i?86-*-* x86_64-*-* } } } */

Original patch from: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>

(From OE-Core rev: b3d0d7b599d605568abdb45057d3f6fbc80224d9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:56:16 +00:00
Juro Bystricky
f1ff13cb0c gcc6: Patch to fix broken gcc-sanitizers build
Backport a patch to fix errors such as:
error: aggregate 'sigaltstack handler_stack' has incomplete type and cannot be defined

(From OE-Core rev: 6a3d9e53e3b3340c48af2242c9871bb2e0a763f5)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Richard Purdie
62adf92cb7 gcc: Remove patch causing ICE on x86_64 valgrind compile
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c: In function 'iselInt64Expr':
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c:3270:1: internal compiler error: Segmentation fault
|  }
|  ^
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| rm -f libvexmultiarch-amd64-linux.a
| Makefile:1813: recipe for target 'priv/libvex_amd64_linux_a-host_ppc_isel.o' failed

Remove the patch to gcc causing this until the issue can be figured out.

(From OE-Core rev: 36be209262ee1e0a7598c9437c9f8c4e926c0e35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Juro Bystricky
6f57e8a418 gcc6: Backport few more patches
Backported series of patches from https://github.com/hjl-tools/gcc.git
branch /hjl/indirect/gcc-6-branch/master which contains
an IA patch series for security related issues

(From OE-Core rev: f59291f9a3a7ef65206ef0503ce27eb61dc95caf)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Andre McCurdy
4732d2936c gcc6: enable FL_LPAE flag for armv7ve cores
The following commit added the FL_LPAE flag to FL_FOR_ARCH7VE, but
neglected to also add it to the armv7ve compatible cores defined in
arm-cores.def.

  af2d9b9e58

The result is that gcc 6.4 now refuses to allow -march=armv7ve and
-mcpu=XXX to be used together, even when -mcpu is set to an armv7ve
compatible core:

  arm-linux-gnueabi-gcc -march=armv7ve -mcpu=cortex-a7 -Werror ...
  error: switch -mcpu=cortex-a7 conflicts with -march=armv7ve switch [-Werror]

Fix by defining flags for armv7ve compatible cores directly from
FL_FOR_ARCH7VE, rather than re-creating the armv7ve flags
independently by combining FL_FOR_ARCH7A with the armv7ve specific
FL_THUMB_DIV and FL_ARM_DIV flags.

(From OE-Core rev: e0d856d64f9e2afd762d6d40bcc6c8dc5e06b430)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
6e6e9f4cdf gcc7/gcc6: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

Cherry-picked from oe-core master 568227133be3f9f015679df3525f6c4f86304fd0

(From OE-Core rev: 7d1fa740451229e7114b5a0c2d3ace39a7618830)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 568227133be3f9f015679df3525f6c4f86304fd0)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
42c804e351 gcc6: Upgrade to 6.4
Cherry-picked from oe-core master 7874fa86cb583fe6a178b95ead09430486197197

(From OE-Core rev: 86ffec0971b521bdaf9b031005bd3561ff97bdf8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:06 -07:00
Khem Raj
5ed61141e1 gcc: Fix libssh_nonshared linker specs for ppc/musl
The change to link libssp_nonshared.a only for musl was to move
spec file changes to config/linux.h under a conditional when
DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc
since gcc for ppc provided its own linux.h overrides which are
used. This patch duplicates the change in those headers too

Cherry-picked from oe-core master 9d39168a6acfa1f289a4448271c0bf9caaea10ec

(From OE-Core rev: 9d265f398a97dccb19811b048b1f4a2dd9d3fdd5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Khem Raj
a678744d32 gcc: Link libssp_nonshared.a only on musl targets
glibc already provides the content for libssp_nonshared
in libc_nonshared.a therefore we dont need to make it
universal.

This also fixed build issues on glibc when linking statically
and using -fstack-protector

Fixed errors like
/mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail':                                                                       /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local'                                                                                                                                   /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libssp_nonshared.a(libssp_nonshared_la-ssp-local.o):/usr/src/debug/gcc-runtime/7.1.0-r0/gcc-7.1.0/build.i586-bec-linux.i586-bec-linux/i586-bec-linux/libssp/../../../../../../../../work-shared/gcc-7.1.0-r0/gcc-7.1.0/libssp/ssp-local.c:47: first defined here                                                                                                              collect2: error: ld returned 1 exit status

Cherry-picked from oe-core master d71eba26850838b2878efea3f8c392a2eb2ebbfb

(From OE-Core rev: 9ee16f7f57f37e62c1fae3b27d93de2d83b2a804)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Khem Raj
a498b7248d gcc-runtime: Disable libitm on riscv
Cherry-picked from oe-core master 21caa8bcda93ce67ef58548f7b85d0569d13d0b9

(From OE-Core rev: 956004c369654a1a47c3cf91e82301cb412b1a17)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:54:05 -07:00
Khem Raj
c8067294cb gcc-7.3: Drop upstreamed musl cpuinfo patch
This patch is already in gcc-7-branch
6e6c7fc1e1

Thanks nsz for noticing it

(From OE-Core rev: 1dd8f90ec954c22ab08b396210c6ad2f0a2c585d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d9c32f31047e9fae289b45fcf733c5df1ddaceb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-19 23:53:34 +00:00
Richard Purdie
c23734c45f gcc: Upgrade 7.2 -> 7.3
The static PIE patch was updated by Juro Bystricky <juro.bystricky@intel.com>
to work with gcc 7.3.

This update from the stable gcc 7 branch includes the retpoline
functionality which is useful to assist with recent security issues.

Two backported patches were dropped as they're included in 7.3.

(From OE-Core rev: 99b1998157ecbd2bc8ac7c24fae859d48b152f58)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-28 10:14:01 +00:00
Chen Qi
7104d48590 gcc: backport patch to fix miscompilation on mips64
Backport a patch to fix miscompilation on mips64.

We've observed strange behaviour of `systemctl status <xxx> on qemumips64.
The output of the command is like `systemctl show <xxx>', which is incorrect.

The problem is due to the miscompilation of gcc for mips64 platform, thus
backporting patch from upstream to fix this problem.

[YOCTO #12266]

(From OE-Core rev: 6264b4afe6962d37eeb918e062568dee811ef231)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cfa13e5c756849820644d86d1882602649db6a9c)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
d164445477 gcc7: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

(From OE-Core rev: ae99f18ec6dc45723d969e749ad3f8ec36db1cf4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Excluding GCC 6.3 as it is not affected.
per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445#c5

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
775f599f5c gcc: Backport fix for a segfault on riscv
seen during kernel compile

(From OE-Core rev: 908cf4d624d54f0dc46f5f5cc1879b89e1640692)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-16 23:52:44 +01:00
Khem Raj
29b0f2c08f gcc-6.3: Backport patch to fix ICE on ARM
Fixes
internal compiler error: Max. number of generated reload insns per insn is achieved (90)

(From OE-Core rev: d2631f45a057c53797b7ba657662f35f66a2b04e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-09 10:09:09 +01:00
Juro Bystricky
c485df7dae gcc-6.3.inc: Use ucontext_t not struct ucontext.
Use ucontext_t not struct ucontext in linux-unwind.h files.

Current glibc no longer gives the ucontext_t type the tag struct
ucontext, to conform with POSIX namespace rules.  This requires
various linux-unwind.h files in libgcc, that were previously using
struct ucontext, to be fixed to use ucontext_t instead.  This is
similar to the removal of the struct siginfo tag from siginfo_t some
years ago.

Backport of patches by Joseph Myers, taken from
https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=249957

[YOCTO #12083]

(From OE-Core rev: ec1c18d866c137b1fa523d0fcc29f65a28f59f44)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-18 11:07:30 +01:00
Khem Raj
c6b7d0907a gcc: Upgrade to 7.2.0 release
Drop upstreamed patches

(From OE-Core rev: dbf718d1baef64ee01431c4134b492cf94bcb4b8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Juro Bystricky
b9b6ede7f8 gcc7: fix potential segmentation fault
Under some rare circumstances we may end up with GCC segmentation fault.
This was observed with versions of sysmacros.h, which contain macros
with embedded warning messages :

When trying to actually display the warning, we may end up with a segmentation
fault instead. The reason is the actual warning message gets parsed (the text is
unquoted) and words in the message such as "not", "and" etc. are interpreted as
operators CPP_NOT, CPP_AND. When the time comes to display the warning, the code
uses wrong structure to access the "name" corresponding to the operators.

[YOCTO #11738]

(From OE-Core rev: 6f81fe4f3a1177c0049b26a070e43546bc6fe974)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Mikko Rapeli
2db6cdbc6f gcc-common.inc: set CVE_PRODUCT to gcc
All recipes which include this are using gcc as product name in NVD like

https://nvd.nist.gov/vuln/detail/CVE-2015-5276

(From OE-Core rev: bd6f1430334412588c143d8029be39fe814672cd)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-24 09:13:31 +01:00
Khem Raj
87f2328fb2 gcc-7.1: Update the libsanitize stack_t patch to upstreamed version
(From OE-Core rev: 979888c39684097086353dfd39eac60c4a66f776)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-17 14:01:38 +01:00
Khem Raj
1131e79540 gcc-cross: Fix linker and fortran symlinks
If we used -fuse-ld gcc option, then it does not work
ending in

collect2: fatal error: cannot find 'ld'                                                                                                                                                                                                       compilation terminated.

This is because we are not creating proper symlinks for BFD
and Gold linker in gcc installation

Secondly, we end up with dangling fortran compiler symlinks
if fortran is not enabled when confguring gcc, therefore
create these symlinks only when fortran support is enabled
in gcc

(From OE-Core rev: f84614c082406287e608860741a82edd2f3c9bca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-17 14:01:38 +01:00
Khem Raj
c08247e3c7 gcc: Fix libssh_nonshared linker specs for ppc/musl
The change to link libssp_nonshared.a only for musl was to move
spec file changes to config/linux.h under a conditional when
DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc
since gcc for ppc provided its own linux.h overrides which are
used. This patch duplicates the change in those headers too

(From OE-Core rev: 9d39168a6acfa1f289a4448271c0bf9caaea10ec)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-11 15:57:08 +01:00
Khem Raj
fee85d51a8 gcc: Use ucontext_t instead of ucontext
glibc 2.26 does not expose struct ucontext anymore

(From OE-Core rev: d70b9705b7997786bc95cf6e70c172470db3413c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-11 15:57:08 +01:00
Khem Raj
8cf9059862 gcc-sanitizer: Fix build with glibc 2.26
sigaltstack is no more exposed by glibc see (bug 21517)
therefore adjust to use stack_t instead

Use res_state typedef instead of referring to __res_state struct

(From OE-Core rev: c5cb3a582531dd1b9c40df5bcaa6f8bf5b451a54)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-11 15:57:08 +01:00
Khem Raj
dc3b3a8df3 gcc: Link libssp_nonshared.a only on musl targets
glibc already provides the content for libssp_nonshared
in libc_nonshared.a therefore we dont need to make it
universal.

This also fixed build issues on glibc when linking statically
and using -fstack-protector

Fixed errors like
/mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail':                                                                       /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local'                                                                                                                                   /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libssp_nonshared.a(libssp_nonshared_la-ssp-local.o):/usr/src/debug/gcc-runtime/7.1.0-r0/gcc-7.1.0/build.i586-bec-linux.i586-bec-linux/i586-bec-linux/libssp/../../../../../../../../work-shared/gcc-7.1.0-r0/gcc-7.1.0/libssp/ssp-local.c:47: first defined here                                                                                                              collect2: error: ld returned 1 exit status

(From OE-Core rev: d71eba26850838b2878efea3f8c392a2eb2ebbfb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-08 13:34:45 +01:00
Khem Raj
fb3be142ce gcc7: Enable static PIE
(From OE-Core rev: 85557ab7bac7db80174205b7969965b7a6bece24)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-08 13:34:45 +01:00
Khem Raj
c91314ec16 gcc: Introduce a knob to configure gcc to default to PIE
GCCPIE flag which is empty by default adds "--enable-default-pie"
configure option for harderned distros

We do not require to add -fpie -pie flag externally anymore

(From OE-Core rev: 1c7e195c94764d680a12a49b870f04cd58860f81)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-08 13:34:45 +01:00
Ricardo Ribalda Delgado
966b113113 libgfortran: Add missing fincludes
ERROR: libgfortran-6.3.0-r0 do_package: QA Issue: libgfortran:
Files/directories were installed but not shipped in any package:
/usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude
/usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_features.mod
/usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_arithmetic.mod
/usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_exceptions.mod

(From OE-Core rev: 753de3328d36b95c029d2946660f80e083823678)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-06 14:38:15 +01:00
Ricardo Ribalda Delgado
e026eb73dd libgfortran: Add missing dependency gcc-cross
Due to the fact that the recipe uses INHIBIT_DEFAULT_DEPS, we need to
manually add the cross compiler as a dependency.

(From OE-Core rev: 00fba52c8a6f6383137cf89fc7aa34cc3e2ff45f)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-06 14:38:15 +01:00
Richard Purdie
a5bf271c7c meta: Add/fix missing Upstream-Status to patches
This adds or fixes the Upstream-Status for all remaining patches missing it
in OE-Core.

(From OE-Core rev: 563cab8e823c3fde8ae4785ceaf4d68a5d3e25df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-27 10:38:43 +01:00
Ross Burton
81f9abc256 meta: Fix malformed Upstream-Status tags
Fix a variety of spelling and format mistakes to improve the ease of reading the
tags programatically.

(From OE-Core rev: 6e1aaf80b0d951b48cd25cb7161ec19448295094)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-27 10:38:43 +01:00
Richard Purdie
4c2d0b1205 meta: Remove further uclibc remnants (inc. patches and site files)
Some of these are clearly dead, e.g. one binutils patch reverts the effects
of the earlier one.

This also removes the uclibc site files. We now have mechanisms to allow these
to be extended from another layer should someone ever wish to do that.

(From OE-Core rev: e01e7c543a559c8926d72159b5cd55db0c661434)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-22 09:16:00 +01:00
Richard Purdie
39df3561d8 gcc: Drop 5.4 series
We now have gcc 6 and gcc 7 recipes, the gcc 5 series can be dropped
as we're no longer going to support it for targets.

(From OE-Core rev: 98183e57dffaa155fc207a28e1c788ff50dc2054)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-22 09:16:00 +01:00
Richard Purdie
f09b074de8 meta: Drop further remnants of uclibc support
uclibc support was removed a while ago and musl works much better. Start to
remove the various overrides and patches related to uclibc which are no longer
needed.

uclibc support in a layer would still be possible. I have strong reasons to
believe nobody is still using uclibc since patches are missing and I doubt
the metadata even parses anymore.

(From OE-Core rev: ec03023d2165b49a52b83bac1ea2f0bfded7b852)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-22 09:16:00 +01:00
Khem Raj
014efb83d7 gcc_7.1.bb: disable thumb on armv5t
It results in same link errors like armv4t

(From OE-Core rev: 7fb9648f7a055beef9c8a735850b1b51fd23ff1d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14 10:23:27 +01:00
Khem Raj
70f1fd0643 gcc: Add recipes for gcc-7
Switch default compiler to gcc 7

(From OE-Core rev: 03bb12008891cf1a023aaddb6547da6d41d0cab0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14 10:23:27 +01:00
Mike Crowe
6e43be47d0 gcc-cross-canadian: Use ${target_includedir} for compatibility with meta-micro
meta-micro puts headers in /include rather than /usr/include in the
sysroot. ${target_includedir} means that the correct path will be used
automatically.

(From OE-Core rev: 12abcc3791592035d99064262eb3d229fa5ef88c)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Acked-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14 10:18:30 +01:00
Richard Purdie
dec53367a8 gcc-configure/gcc-target: Move arm6/7 config to target only
We only build one gcc-cross per architecture and having target specific
flags means gcc-cross would rebuild. These flags are really for the
on target case, so they should be set in gcc-target only.

(From OE-Core rev: 851937dde81de2a9ef54c5f19a78fb12fb82afd4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-16 14:08:28 +01:00
Peter Kjellerstedt
439bb8cc71 bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-components
The path to where to install and find the sysroot components is used
in many places. This warrants it to get its own variable.

(From OE-Core rev: 70a84b525470f72339568409daf84845904e4cab)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11 16:55:59 +01:00
Patrick Ohly
3e903cb42f recipes/*-cross recipes: ignore TARGET_ARCH sstate hash
"yocto-compat-layer.py --machines" showed that shared packages like
gcc-cross-powerpc64 have a sstate signature that depends on
TUNEFLAGS. As a result, there are unnecessary rebuilds and potential
conflicts in a multiconfig.

That's due to the way how TARGET_ARCH is set. Richard Purdie suggested
setting TARGET_ARCH[vardepvalue] as fix, which works. It would be
shorter to do that in cross.bbclass instead of repeating the relevant
line in different recipes, but Richard was concerned about potential
side-effects in other usages of cross.bbclass.

TARGET_GOARM as used in go.inc is still causing signature differences
for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This
needs further investigation.

(From OE-Core rev: 39bfa0dd3237cbca47e7fca1075d521f9d073f25)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12 15:09:58 +01:00
Joshua Lock
f70179e280 gcc-6.3: backport fix of check for empty string in ubsan.c
Building gcc-cross-initial with GCC7 on the host fails due to the
comparison of a pointer to an integer in ubsan_use_new_style_p, which
is forbidden by ISO C++:

ubsan.c:1474:23: error: ISO C++ forbids comparison between pointer and
integer [-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'

Backport the fix from upstream GCC to enable the build with GCC 7

(From OE-Core rev: 7a7fcbab0365b9501c737dbc02715be14dda72a3)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:43 +01:00
Richard Purdie
75001927cd glibc/gcc/libgcc-initial: Delete do_build tasks for -initial
We've had a lot of users running into RSS issues where -initial recipes
were being installed into sysroots alongside their counterparts and
causing overlapping files issues.

In general this was through do_build dependencies. Such dependencies are
bad in general and I'd encourage people to compare the taskgraphs with
using a more specific dependency like do_populate_sysroot, do_image_complete
or do_deploy as often the more specific dependency will result in a much
cleaner build.

Regardless, we don't want -initial dependencies getting in the way like
this and there are cases a do_build dependency could make sense.

Deleting the do_build task in these cases makes sense since this is not
a build "endpoint" we'd ever want a user to use, its a behind the scenes
piece of bootstrappping.

Unfortunately to make this work, we need a newer bitbake version which
has a bitbake bug fixed.

(From OE-Core rev: 04c053d42ab05f77b2d1ca93a0fabae44073d57e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:43 +01:00
Chen Qi
36f3c88970 gcc-target.inc: create symlinks for gcov and gcov-tool
Create symlinks for gcov and gcov-tool and that they can be used trivially
on target.

(From OE-Core rev: 5b5a506a6d81095c967304fe4ec38a4bc3dc1edd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Ismo Puustinen
5c9dc408aa gcc: move cc1 binary file to package cpp.
The file /usr/libexec/gcc/.../cc1 has been installed in package gcc
instead of package cpp, because FILES statements for both packages match
the cc1 binary. Move the file to package cpp and add cpp to RDEPENDS_gcc
to fix the dependency.

Having the cc1 binary in cpp fixes errors such as: "cpp: error trying to
exec 'cc1': execvp: No such file or directory".

(From OE-Core rev: 4bf84edeb6cf4ba82a21bc7ceb1da4f59d839064)

Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Jussi Kukkonen
f3d8addbef gcc: Remove unused patch
CVE-2016-4490 applied to gcc < 6.1.1, our version is 6.3

(From OE-Core rev: d8329861bf6f48f6e541a04062b8d1f373dfcd78)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Mikko Ylinen
519255fd73 gcc-runtime: Enable libmpx for x86-64
Intel MPX was recently enabled on x86 (_append_x86) but that didn't
enable it on x86-64. Explicitly enable libmpx on x86-64 too.

(From OE-Core rev: 5111bd5e666408dbca7db0e6d664fe0103744253)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Martin Jansa
d454dc2fc1 gcc-runtime: Fix QA issue
ERROR: gcc-runtime-6.3.0-r0 do_package: QA Issue: gcc-runtime: Files/directories were installed but not shipped in any package:
  /usr/lib/libmpxwrappers.la
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
gcc-runtime: 1 installed and not shipped files. [installed-vs-shipped]

(From OE-Core rev: 3658da86e57dc87ac3957b05f853a7f1a56bfab2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Ross Burton
851bdd2d69 gcc-source: add comment explaining why a function is Python
(From OE-Core rev: ead8a8e9695ea47ecf8c8eba9cd06cc1a12cc289)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04 23:18:19 +00:00