Commit Graph

290 Commits

Author SHA1 Message Date
Matthew McClintock 8e105385e0 gcc-common.inc: handle case where tune is not defined
(From OE-Core rev: d3eab8b17f8e50f99042a7a8f43db94640c53d41)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05 13:14:51 +00:00
Constantin Musca 5f05604cdf gcc-cross-canadian: enable multilib support
(From OE-Core rev: ee7331e3e7d0b38f3e19ccf7e394537f5f653a22)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 22:49:27 +00:00
Khem Raj 898a8094b1 libgcc: Disable multilib install for nativesdk
Fixes errors when building SDK for multilibbed enabled
architectures.

[YOCTO #3832]

(From OE-Core rev: 09934f38df057e12af7d14791f7ab752e81093db)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-05 15:22:45 +00:00
Constantin Musca f4b0cc562e gcc: target: fix libiberty removal
- use ${libdir} instead of ${exec_prefix}/lib

Fix the following warning:
WARNING: QA Issue: gcc: Files/directories were installed but not shipped
  /usr/lib64/libiberty.a

(From OE-Core rev: b3643415ad91dc77880cc5b95e9ad8cd9aef5c44)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04 16:42:50 +00:00
Constantin Musca 703b70c98a gcc: enable multilib for target gcc
- add a task to setup multilib configuration for target gcc
- this commit adapts Nitin Kamble's work to gcc 4.7
- use a hash for storing arch-dependent multilib options
- patch gcc in order to use the multilib config files from the
build directory

Tests:
root@qemux86-64:~# gcc -m64 t.c -o t
root@qemux86-64:~# file t
t: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
root@qemux86-64:~# ./t
Hello World !
root@qemux86-64:~# gcc -m32 t.c -o t
root@qemux86-64:~# file t
t: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
root@qemux86-64:~# ./t
Hello World !

[YOCTO #1369]

(From OE-Core rev: b26819c85881e82ee1b5c68840011e78c321f18e)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01 15:54:31 +00:00
Martin Jansa 5298d6f6ff gcc-configure-runtime: always remove info/dir
* move libgomp.info removal also outside that for cycle, can be removed outside if exists
* also use infodir variable instead of ${datadir}/info

(From OE-Core rev: 0b8fe539928c7a61ca01a4a0a0f54df47164ac6c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-27 13:53:34 +00:00
Richard Purdie 3247292683 Split do_packagedata task from do_package
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:

bitbake xxxx-image -c rootfs

you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.

This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.

Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.

(From OE-Core rev: 6107ee294afde395e39d084c33e8e94013c625a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25 12:42:47 +00:00
MiLo 3991c5520e gcc: Enable OpenMP compiling and library
Multicore embedded systems are getting more and more common.

Remove "--disable-openmp" from the GCC configuration options and
always build libgomp. This only creates a "bigger" compiler but
has no effect on the compiled binaries that don't use openmp.

Tested a clean build on mips32el and arm7a, no problems encountered.

Autoconf will not detect OpenMP after this change, because it will
build and run a target binary on the build system. In order to use
OpenMP, the variable ac_cv_prog_c_openmp=-fopenmp must be set.

(From OE-Core rev: fdf37b792c13a1fc3f63faf471f0403396414a35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25 12:42:43 +00:00
Constantin Musca 66d0b1d4d2 gcc: add missing dependency (zlib)
- add zlib to DEPENDS (it fails otherwise)

(From OE-Core rev: 7a0fd7145461d3feb9fe7900a39376d556e655d6)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-15 08:10:14 +00:00
Giuseppe CONDORELLI b94fd21bbf gcc: restore FILESPATH
restore FILESPATH to previous setting because the new one doesn't allow the
normal use of FILESEXTRAPATHS_prepend in the case of append recipe.
In the current implementation, in fact, the FILESPATH is statically set into
the gcc-4.7.inc and so the base_set_filespath is not invoked to manage
extrapaths.

(From OE-Core rev: acdec40f31ecd2eecf8c173b632b8fb01ca59b3d)

Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-07 14:30:51 +00:00
Khem Raj e1269dd6d4 gcc-cross-canadian.inc: Add dependency on cross-gcc
gcc-cross-canadian uses cross compiler during libgcc build
when building from sstate the build failed when building
gcc-cross-canadian since it did not populate gcc-cross
therefore add an explicit dependency on virtual/${TARGET_PREFIX}gcc
to make sure that gcc-cross is available before building
gcc-cross-canadian

(From OE-Core rev: d9b7478e41e3065d01aa45d8d70fae2fc5ff6066)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-19 17:55:01 +00:00
Colin Walters d3dbfd6fe0 gcc: Add --enable-linker-build-id
See https://fedoraproject.org/wiki/Releases/FeatureBuildId for the
benefits this brings.  As far as I can tell from searching the
discussion archives, there doesn't appear to be a reason not to enable
this, and the benefits are real.

Both the Red Hat Enterprise Linux 6, all Fedora, and Ubuntu Quantal
GCC builds are configured with this on.  I plan to use it in
gnome-ostree.

(From OE-Core rev: f3be2b1e5e100a953d6d7fbbb19a77a5c4d547e1)

Signed-off-by: Colin Walters <walters@verbum.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-24 15:12:29 +00:00
Richard Purdie 5ce6418c13 gcc-cross: Explicitly depend on linux-libc-headers
gcc-cross cannot build without linux-libc-headers but doesn't explicitly depend on
it relying on the implied dependency through libc. With cases where pieces
can be installed through sstate, we now need this explicit dependency to
ensure builds with partial sstate work.

(From OE-Core rev: 65e5670ef429bb6c348decb1804e425f1c4d7c61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-24 15:12:28 +00:00
Richard Purdie 6177bfb408 gcc: Use FILESPATH instead of FILESDIR and cleanup/simplify
(From OE-Core rev: 4cb359182da00e661fda11a8b31e3611b0df03cb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-21 16:56:01 +00:00
Richard Purdie 66861cce91 Revert "gcc: Use FILESPATH instead of FILESDIR and cleanup/simplify"
This reverts commit 90616875b4. It was
never meant to be applied as its an incorrect previous development
verison of a patch in progress.
2012-11-20 16:47:11 +00:00
Richard Purdie 90616875b4 gcc: Use FILESPATH instead of FILESDIR and cleanup/simplify
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-19 21:18:52 +00:00
Richard Purdie 2c494b2090 classes: Be consistent about sstate-inputdirs/outputdirs ending with '/'
If sstate-inputdirs and sstate-outputdirs don't match with ending '/'
characters, the manifest file can end up corrupted. This change
ensures the metadata is consistent in ending do_populate_root tasks
with this character to avoid manifest file corruption.

(From OE-Core rev: 3910eaf88d14904eef85b9e391387547df7fc54e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-14 14:38:28 +00:00
Richard Purdie 52e67c5f75 gcc-cross-canadian: Fix gettext dependency
There was a problem in commit ad23395cd1 since
gettext-nativesdk was translated to gettext instead of nativesdk-gettext.

This fixes to use the correct dependency.

(From OE-Core rev: a6e325342cb489e05927d6cb2bb0a24fa6c20ef8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:06:12 +01:00
Phil Blundell 0c340611de gcc-configure-cross: factor out --enable-threads argument into ${GCCTHREADS}
This allows BSPs for architectures with no thread support to set (for
example) "GCCTHREADS=no" without having to override all the other configure
parameters.

(From OE-Core rev: 6bb0d37529a82b953d374f2d76c2412d7cee587b)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:26 +01:00
Khem Raj d02f02950e gcc-common.inc: Consider multilib when renaming libgcc for debian'ness
When doing multilib builds rpm does not find libgcc1 for lib32
multilib because its not honoring the debian renaming scheme for
libgcc-multilib. Lets add MLPREFIX to fix it.

(From OE-Core rev: 9327ca868667b15f29af3123611d6f56b4249a63)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:27 +01:00
Khem Raj df74f8d9a8 gcc: Use 4.7.2 release tarball
This avoids the SVN or git fetcher issues for gcc
and the tar is mirrored around the world so it will
not be slow

Fixes [YOCTO #2908]

(From OE-Core rev: 5e03d1e83d0536a2fc69a88d3e5407108836203f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 14:55:32 +01:00
Richard Purdie 3c101af5e3 bitbake.conf/gcc-common.inc: Fix STAMPCLEAN expression
The globs used for STAMPCLEAN were too greedy matching gcc-cross-initial
stamps for gcc-cross for example. This patch resolves that problem making
the assumption that PV starts with something numeric. This assumption
should hold in most cases and has a better failure case that the current
situation.

(From OE-Core rev: d7fbc70b6c6ac629d2a23ac16ab45461f88b4b26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 14:20:18 +01:00
Richard Purdie 3d6229535c bitbake.conf/gcc: Add clean masks for stamp files
This takes advantage of new bitbake functionality to clean up stale stamp
files when creating new stamp files.

[YOCTO #2961]

(From OE-Core rev: e21b6c04e512a3bc2339a20045b7041f1d26e859)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:52:35 +01:00
Khem Raj 42f0f96903 gcc-4.7: Backport libgcc fixes to appease the new build sequence
This makes the libgcc builds identical when done with gcc-cross-initial
or final gcc-cross. Since eglibc only sees gcc-cross-initial it is
important that the final libgcc that appears on root file system is same
as the one against which eglibc was built.

(From OE-Core rev: bd0ab094d6c36b55848e23e63b96587773299a7f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:38 +01:00
Khem Raj 86ae51246f gcc-4.7: Fix build for armv4/EABI and ppc/Os
arm patch is a forward port from OE/classic
ppc patch should help in building images with Os

(From OE-Core rev: ac9ebcea4a2b778f6dd103a729831d9a9be281df)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:38 +01:00
Richard Purdie 800ce0f1d0 gcc-cross-initial: Reinstate limits.h generation fix
The removal of gcc-cross-intermediate inadvertently reintroduced a
problem with the limits.h file being incorrectly/inconsistently
generated.

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b0faebd1f07e1616004bd19664395932e7c2c48f
reverted part of:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c8815d2f21849deb9359706f54dc71490773415e

This reintroduces the protected sysroot ensuring the limits.h file is
always correctly generated. To reproduce the bug, build gcc-cross, then
rebuild gcc-cross-initial and it will reference the limits.h file from
gcc-cross in the sysroot.

(From OE-Core rev: 71854f5c8c6850ed37777cad21acc92fdbea32fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 00:07:42 +01:00
Richard Purdie ad23395cd1 nativesdk: Switch to using nativesdk as a prefix, not a suffix
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.

By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.

(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-02 05:52:06 -07:00
Richard Purdie 16a7a61510 gcc-4.7: Add fix for libtool rpath problems
This avoids problems with libstdc++ having bad rpaths (/usr/lib/../.lib)
in its .la file. See the patch for more information.

(From OE-Core rev: bd27e81f1fa49e2770da9a4a65a83e9d4c3a0dd0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-24 17:25:14 +01:00
Martin Jansa 84d8ef416b gcc: bump PR
* missing in 30617bde61a3b0a0944b49a0c9fb7159dacbb19f, eglibc-initial fails to compile in incremental build with OEBasic

(From OE-Core rev: 495ccece87b56d696e92c5cdc39b79fd9813caa0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-22 14:04:59 +01:00
Khem Raj fe9a576e8d gcc-cross-intermediate, gcc-crosssdk-intermediate: Remove
These recipes arent used anymore so delete them

(From OE-Core rev: 4ef8960c8d2876914bb78cbdce5fae3c5297e942)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21 12:15:33 +01:00
Khem Raj ad5fe4624b gcc-crosssdk-initial_4.7.bb: Add --with-native-system-header-dir to EXTRA_OECONF
gcc-crosssdk-intermediate will go away and -initial will
assume its responsibility therefore transfer the option

(From OE-Core rev: 7f6883b225f9a0fdc44be2d1cb66ddc744174fbc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21 12:15:32 +01:00
Khem Raj b0faebd1f0 gcc-cross: Make gcc-cross-initial as the only intermediate gcc stage
Now glibc can be compiled with gcc-cross-initial therefore prepare
the stage to drop gcc-cross-intermediate

Also drop arm-nolibfloat.patch should not be needed anymore
half of changes in this patch are meant for OABI which we dont
use anymore

(From OE-Core rev: 30617bde61a3b0a0944b49a0c9fb7159dacbb19f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21 12:15:31 +01:00
Richard Purdie 016247241d gcc: Disable use of sdt.h header
The target sysroot might contain sdt.h but we don't list this in DEPENDS
and shouldn't be referencing it. Unfortunately there is no way to tell
configure this since these tests are uncached and we can't force
a particular value. The only option is therefore to patch this out.

(From OE-Core rev: 1409d9b9690e39ecc63aacfdd5785586d83633ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-07 23:30:07 +01:00
Richard Purdie c8815d2f21 gcc-cross-initial: Ensure it uses an isolated sysroot
If we don't do this, a stale limits.h may be detected in STAGING_DIR_TARGET
which would result in a different limits.h getting generated by gcc-cross-initial
that references it. The referenced limits.h will then not get found by eglibc-initial
causing rather strange build failures.

The simplest solution is to create a temporary sysroot containing only the things
gcc-cross-initial should care about and this results in a correct limits.h file
regardless of what else may have been built.

(From OE-Core rev: 9c304eae0724474902fe2f3150adc6af115af9ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 12:35:05 +01:00
Richard Purdie ed6beed4b3 gcc: Bump PR since there have been several gcc changes and various problems reported and this should flush anything stale out
(From OE-Core rev: a9d0cbe1d84bb26fc1a1f48764fe514cf9f9c548)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-03 10:32:35 +01:00
Richard Purdie 2b720d62c1 gcc-cross-initial: Fix typo causing limits.h not to be present
(From OE-Core rev: f26014b1b2e7ae0a23829487ca0c0bc05043b5d7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-03 07:50:36 +01:00
Richard Purdie acde166f5b gcc-configure-target: Set native-system-header-dir for target gcc
Without this set, in the case host=target (which it does for on-target
gcc), the native header directory is set to the target sysroot with
no prefix. This means it would look for sdt.h on the build system
instead of in the target headers and this can lead to build failures
and is host contamination of the build.

The correct fix is to explicitly set the native header directory to
the correct location and then the headers get detected correctly.

(From OE-Core rev: 404d2d490fc347203e89d274530c17fb5f0aa20f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01 23:11:17 +01:00
Khem Raj aab76b3399 gcc-cross-initial: Stage self sufficient fixed limits.h
currently gcc installs a limits.h which references to another
limits.h which it expects from target sysroot and that header
in target sysroot will come from eglibc. So we need to break
this catch-22 and hence we install a self sufficient limits.h
which is then happy when referenced and doesnt complain about
missing limits.h from target sysroot.

This is mostly used when eglibc-initial configure is run

(From OE-Core rev: eeb445ecbc651ad614a4fc492039bdad0747d45d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-26 14:40:48 +01:00
Richard Purdie 3049f6b8df libgcc: Add missing dependency on libc:do_package
do_package writes out shlibs data and libgcc can depend on the values
there. We therefore need to express the depdency so that sstate can account
for it for example.

Without this a version change in eglibc can "psersist" in the sstate cache
and corrupt builds.

(From OE-Core rev: 4148bc80c008d25c8a536c7c7dfdeac1669a6662)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-24 10:35:32 +01:00
Bernhard Reutner-Fischer 3e89b62a47 gcc: remove 904-flatten-switch-stmt-00.patch
Remove brute-force flattening and bump PR.
Refer to -ftree-switch-conversion emit_case_bit_tests(),
-ftree-if-to-switch-conversion et al in 4.8

(From OE-Core rev: 2eb0e56217137ece3d86a70676a3f3c8db525459)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18 22:24:41 +01:00
Matthew McClintock e0e04c4603 gcc-package-runtime.inc: Fix QA warning
> ERROR: QA Issue: gcc-runtime: Files/directories were installed but not shipped
>   /usr/lib/libgomp.so.1.0.0
>   /usr/lib/libgomp.so.1

(From OE-Core rev: fee3def2ca49e3349758d9cd9a9cf5645f03cf18)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18 14:29:28 +01:00
Khem Raj ac8ec3bb3d gcc-cross-initial.inc: Use BFD ld as default always
When using gold as default linker in final toolchain
gcc-cross-initial still needs to use BFD ld since it
will link eglibc-initial

(From OE-Core rev: f643f886b16f586426c744afde080a99d71a9d58)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:54:07 +01:00
Khem Raj eb6323cc56 gcc: Switch to git SRC_URI
svn has been giving troubles with svn 1.7 upgrade
Remove duplicate definition of S and B variables
from gcc-4.7.inc

Use 4.7.1.0 for PV to maintain the upgrade path
Its an interim solution once we upgrade to 4.7.2
we will drop it.

(From OE-Core rev: 3f3b74b3fd6ba813dd69804706edcea145876e09)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:54:02 +01:00
Khem Raj 3cf4c8d3e9 gcc: Refresh support for fsl E5500/E6500
These patches are backport from gcc mainline
they fix issues where eglibc was not compilable
for e5500+ due to missing vector intrinsics
It obsoletes the existing e5500 patch

(From OE-Core rev: b440aeeceb8c2e9f412d98793fb1dd55ff9d73f5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:54:02 +01:00
Khem Raj aa31bcbbc0 gcc: Convert do_headerfix into a definitive patch
do_headerfix task is essentially editing configuration
headers in sources which can well be maintained as a
patch which is easier to spot errors (if any) than
dynamically edited source tree

(From OE-Core rev: ddd344e9acef88d614473581266569ce14716ccc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:54:01 +01:00
Richard Purdie d71a35d4f6 crosssdk/nativesdk: Ensure EXTRA_OECONF_FPU is unset
If EXTRA_OECONF_FPU is left set, certain ARM variables related to hard-float
can get pulled in and trigger rebuilds of the crosssdk code. The best solution
is to simply force the variable to a known correct value for the SDK targets
currently supported in the same way as TARGET_FPU.

There is some slight rearrangement of the gcc code to ensure the variable is
always used to call the fpu function.

(From OE-Core rev: 410990445ada8cdcfaec4e6fa5791cee9a5b8983)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:53:57 +01:00
Saul Wold 14c4a41f88 Update proto -> protocol for recipes
(From OE-Core rev: 247fbed5a93800c44dc36e403f13bdc8dd704553)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:53:55 +01:00
Matthew McClintock 6382732a75 libgomp: add libgomp (openmp) library, and build for powerpc targets by default
(From OE-Core rev: b76a7bc8dcb7aed7d6f026e77a226837004c50af)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-11 11:35:53 +01:00
Matthew McClintock b424a3a31b gcc: gcc-cross-canadian: use correct location for libraries for powerpc64
This fixes the issue where gcc invokes the linker with an incorrect -L
library location and gives up because it can't find libraries. It was
looking in a /lib folder instead of /lib64

(From OE-Core rev: 1b428f0151a5b86332b501871bf4a925b43580a5)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-11 11:35:53 +01:00
Matthew McClintock fd9a9a2a9a gcc-configure-common.inc: use --with-long-double-128 on powerpc to comply with ABI
(From OE-Core rev: 243539efec94e79dade2525d0ab3586eea48c529)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-11 11:35:52 +01:00
Kartik Mohta d0900924a6 gcc-common: Don't use "is" for comparing strings, use "=="
Needed because the equality check was failing here even though upon
printing the LHS and RHS were the same.
As per http://stackoverflow.com/a/2987975/64537, using "is" compares the
memory addresses of the two objects which is not what we want here. We
just want to compare the values.

(From OE-Core rev: 7fd82cc90a48302ed42b6bfa962bb0de2c652b45)

Signed-off-by: Kartik Mohta <kartikmohta@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 16:58:56 +01:00
Richard Purdie e3b3aaf4c7 gcc: fix collect2 host contamination problem properly
We added the autoconf cache line a while back to ensure that configure doesn't
poke into some hardcoded host paths looking for things it shouldn't. Applying
it as part of do_configure wasn't getting it to the do_compile tasks
where much of the configure scripts are run by gcc. This changes it to a simple
export to ensure it reaches the places it needs to and truly gets rid of
the cross compile badness messages from the logs.

(From OE-Core rev: af58d5c3a5c5e632aa20b1d007d47dbbfb4ed6e6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-05 12:36:45 +01:00
Khem Raj 3916fb9bf4 gcc-configure-sdk, gcc-configure-cross: Dont recompute USE_NLS
This was needed because on eglibc based builds we did not
define USE_NLS but now we define it in default config to have
a valid value so we do not need this here. Moreover it was
wrong and was not covering all cases of uclibc triplets

(From OE-Core rev: fc9492654aab2a6e3f46977193b5a5f388e4ee85)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 13:30:58 +01:00
Khem Raj c27d535b09 libgcc: Remove unpackage unwind.h
Fixes build warnings like below

WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/arm-oe-linux-gnueabi/4.7.2/include
WARNING:   /usr/lib/arm-oe-linux-gnueabi/4.7.2/include/unwind.h

(From OE-Core rev: f7ec6ea2b32207993e7fc92ed67c08f542007953)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 13:30:57 +01:00
Khem Raj 08e15c2599 gcc: Remove csl gcc recipes
sourcery toolchain is available as external pluggable toolchain
if needed.

(From OE-Core rev: 7d0c7a759c29669b2b5828fd75837926506acd87)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-25 16:35:53 +01:00
Khem Raj 2ef14dff79 gcc-4.6: Retire into toochain-layer
If anyone wants it add toolchain-layer from meta-openembedded
repo to your setup

(From OE-Core rev: a78260d8d041e606ce4d10c0bb52f196dd27832e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-25 16:35:52 +01:00
Khem Raj c0b54eb457 gcc: Fix a case of sysroot with trailing / and gxx-include-dir leading slash
when using --with-sysroot=/ and --with-gxx-headers=/usr/include/c++
configure eats up one leading / from gxx include dir
fixed thusly

(From OE-Core rev: 51064de5fb92c53c99b21487c0ebcafeaf3cc3ad)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 13:03:04 +01:00
Khem Raj 7fb442a320 gcc-4.7: Update to tip of gcc-4_7-branch since 4.7.1 has been out
(From OE-Core rev: 7986e424995a4119b45a09767dc5100a5cdb5161)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 13:03:04 +01:00
Robert Yang a41c3e4867 gcc-cross: argument list too long when do_install
There would be an "Argument list too long" error when the length of
tmpdir is longer than 190, this is caused by:

headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`

The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
it, use the $(sort list) of GNU make which can handle the too long list
would fix the problem, the header would be short enough after sorted.
The "tr ' ' '\012'" was used for translating the space to "\n", the
$(sort list) doesn't need this.

This doesn't impact the output, so it doesn't need the PR bump.

[YOCTO #2591]

(From OE-Core rev: b9b75e6cf31991c046713194f75bc61027558464)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-18 13:22:17 +01:00
Saul Wold b42744fac3 gcc-target: ensure target packages have the correct virtual package names
Resolves this error during do_rootfs:
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies for task-core-standalone-sdk-target:
|  * eglibc (>= 2.15) *
|  * opkg_install_cmd: Cannot install package task-core-standalone-sdk-target.
NOTE: package core-image-sato-sdk-1.0-r0: task do_rootfs: Failed

(From OE-Core rev: 86e3b90d1963fa6982869e005d7858222a8527d5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-15 15:12:45 +01:00
Richard Purdie 3f29273540 gcc-configure-target: Fix sysroot option breakage I introduced (sorry)
(From OE-Core rev: ba380813c0198f95b1e786aa7f49b80c68cfe9b9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 19:48:47 +01:00
Khem Raj e7d0a81a8f gcc-configure-common: Use build time sysroot for target gcc
Otherwise it assumes / as sysroot on build host and starts
searching for directories in there.

[RP: Tweak to add missing = for consistent syntax]
(From OE-Core rev: d132bcc41d9956f8cc171e34232d991e2b444689)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:22 +01:00
Khem Raj 4b55c928c1 gcc-common: Replace use of TARGET_ARCH with TRANSLATED_TARGET_ARCH
TARGET_ARCH is poured into TRANSLATED_TARGET_ARCH
for gcc-cross family or gcc-crosssdk family
of recipes we have to check for TRANSLATED_TARGET_ARCH

(From OE-Core rev: 03f7322b1f4e1b1cf465a46cba3b82573384ab9e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj 53981ad824 gcc-common: Enable hardfloat ABI when target is arm
We need to check target to be arm before enabling hard-float
ABI. There are crossdk targets or candian-cross targets built
for arm and we should not enable it for those class of recipes.

(From OE-Core rev: f48bb903218e14ba15dab452e8bb43ba25b9ea44)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj 23fd086b6e gcc: Grok for callconvention-hard to enable hard float
If callconvention-hard is set then we build gcc defaulting
to hard-float ABI

(From OE-Core rev: 88dee5cf5265d3ea26fc9d471fc6155e48935dc7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:35 +01:00
Khem Raj e108db7acc gcc-4.7: Add knowledge about arm hf dynamic loader
(From OE-Core rev: a0d9e602a778feab2201a0643fb7d555b71017b9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:35 +01:00
Khem Raj 6174900a0e gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
Defaults to n64 ABI

(From OE-Core rev: 253f1f3aebd1a90c55efcc6d1f585204e7f3c371)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:02 +01:00
Andreas Oberritter 0ff3fa7cd9 gcc-4.6: disable cloog, change syntax to disable ppl
* Backported from 523df15bcc21e1749771cca757613f3520243b8e
  as suggested by Khem.

* Original commit message:

  If build system has those libraries installed
  gcc configure will pick them up. We want
  consistent builds so we disable them since we
  do not (yet) support them

(From OE-Core rev: 9de1de7c2c4e9f5accb4dd082fe819a711defbfb)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Andreas Oberritter 97911d3931 gcc-4.6: explicitly disable ppl
* Fixes the following error after a system library upgrade
| .../mipsel-oe-linux/4.6.4/cc1: error while loading shared libraries: libppl.so.10: cannot open shared object file: No such file or directory

(From OE-Core rev: 2c0fb8265d4876db537850f4b20c898dde3a0f4c)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:59 +01:00
Saul Wold 2e9bb9d103 gcc-package-target: add libexec for plugin
Fixes:

ERROR: For recipe gcc, the following files/directories were installed but not shipped in any package:
ERROR:   /usr/libexec/gcc/i586-poky-linux/4.7.1/plugin/gengtype
(From OE-Core rev: 0be64cda0a20ca3aab75ee0cc360236d2dc40c95)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:10 +01:00
Saul Wold 845bcf0b1b libgcc: Add MLPREFIX to sanity check skip
Fixes:
ERROR: QA Issue: non -staticdev package contains static .a library: lib32-libgcov-dev path '/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/packages-split/lib32-libgcov-dev/usr/lib/i586-pokymllib32-linux/4.7.1/libgcov.a'
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/temp/log.do_package.9691
NOTE: package lib32-libgcc-4.7.0+svnr186651-r0: task do_package: Failed
ERROR: Task 1077 (virtual:multilib:lib32:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/meta/recipes-devtools/gcc/libgcc_4.7.bb, do_package) failed with exit code '1'
(From OE-Core rev: dd303065890e44f6f2c986988938c3599ea94e4f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:00 +01:00
Khem Raj b11dc75d19 gcc-cross.inc: Fix cross testing script
shift the cmdline argument after determining
there is atleast 1 argument to shift otherwise
it ends up in error when no argument is specified

(From OE-Core rev: 4cd306ab0c9404a31f38c7e5fb67fe32fdca3d4b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj 0611c3c1a2 gcc-package-sdk: Package plugin files generated by gcc-4.7
(From OE-Core rev: e2ce49ca28fe7f6054406bc276a3402cfc04f545)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj 8250ca8b32 gcc-4.7: Do not use --with-header option for cross-gcc
(From OE-Core rev: 11cbd871e0969931d5c81ec53684446f4293faf1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj 9f32853544 gcc-4.7: Let cpp specs honor include searches in relocated install tree
Fix from Yocto Bug 2074

(From OE-Core rev: fe32e09ccbef3a9896955e8d4c3113c53f95de48)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj 8e6a742220 gcc-4.7: Use full relative path in require directive
This will help in meta-linaro where it will be able
to utilize maximum recipes from OE-Core and thereby
keep close compatibility with OE-Core gcc recipes

(From OE-Core rev: 3c9f7eb2e2d70869a71a584eb1ba670b50a88379)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj 38e961ace3 libgcc-4.7: Package libgcov nativesdk correctly
(From OE-Core rev: 2bcc03b6787d4bb0731c047bf25c945228136e5f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj 79a5da9eda gcc-4.7: Lower the internal consistency check level to release
This should help in speeding up compilation at the expense
of a bit less info when gcc ICEs but we dont get many gcc
ICEs and therefore using --enable-checking=release is
right balance

(From OE-Core rev: a84c097cc7c52a856601e546880440d9375b0e30)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj 529173ab4a gcc-4.7: Disable cloog and ppl
If build system has those libraries installed
gcc configure will pick them up. We want
consistent builds so we disable them since we
do not (yet) support them

(From OE-Core rev: 523df15bcc21e1749771cca757613f3520243b8e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj 4155ed41d8 gcc-package-target: Add the dangling files to specific packages
create a new package to have lto dev packages bundled

(From OE-Core rev: b98fb95c594117d165a31795b6fa7b6cb583d598)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj e6716c54ec gcc-crosssdk-intermediate: Use --with-native-system-header-dir for 4.7
--with-native-system-header-dir is relative to sysroot which
is what we want --with-headers is deprecated anyway

(From OE-Core rev: 2f7ac32b57e047cdaf01e0b6f77509117dbbd14c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj 0e70f544ac gcc-cross-canadian_4.7.bb: Override ARCH_FLAGS_FOR_TARGET
We need -isystem=${target_includedir} in there

(From OE-Core rev: 573949096d51bde4961b2301c20c966c324a66bd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj e06d1f2d85 gcc-4.7: Define own do_configure_prepend
gcc-4.7 does not define STANDARD_INCLUDE_DIR

(From OE-Core rev: 149a9911a00c79475d00382dcc384f355fbcdd02)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj aafa59064b gcc-4.7: Add recipes
Add new recipes for gcc-4_7-branch right now gcc 4.7.0
is latest release from this branch

(From OE-Core rev: 3f8fee75e598ad0994acc5da0a612e6eca4f35f6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj 173f424808 gcc-configure-common.inc: Use libc-uclibc override
Its better than duplicating the overrides

(From OE-Core rev: 7159dad19f8cfd3e7e95523da63e91370744da7f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj 1dd054518f gcc-4.6: Specify complete paths in require directive
This is needed for adjusting meta-linaro where linaro
gcc recipes leverage the core recipe infrastructure and
modifies minimal to keep compatibility with OE-Core
so that any changes in OE-Core gcc recipes does not
trigger changes in meta-linaro.

(From OE-Core rev: cb01b2a4fc82e62eacc4441fddc3fdfb04a3acf3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj 85f8b5c106 gcc-4.6: Remove redundant overrides
Use libc-uclibc override instead of TARGET_OS
override

(From OE-Core rev: 57392b5c3c9d14ba6568a98fc4fb0dadbdb9d9cb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj 271e4e02f9 libgcc_4.6: Package libgcov nativesdk correctly
(From OE-Core rev: b32e26310d5b635b7ef1a6408dc14d400d799477)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj 9ce94ea4a4 gcc-configure: Render --with-local-prefix harmless
this option by default points to /usr/local no matter
what so we cant let it sit on sidelines otherwise it
will access host machine's /usr/local which may not
be desired. So disable this option. This also helps in making
gcc's shared state more consistent

(From OE-Core rev: eee3658366e1ae9d3e429b3d3c968938d8d0f00e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj f7337ee8c4 gcc: Stash the gcc-cross builddir to reuse in libgcc and gcc-runtime
Currently we stash the libgcc install tree and then reuse that
to populate libgcc recipe later. This mechanism does not work
for gcc 4.7/trunk since now libstdc++ needs access to build tree
of libgcc. This patch stashes the gcc-cross build tree
and then reuses this in libgcc as well as in gcc-runtime
recipe builds.

Now we build libgcc in the libgcc recipe instead of just
using the prebuilt install tree

core-image-minimal build/run tested on all qemu machines

(From OE-Core rev: 7cf9f0597648c0bdaa080976d74acfbfc4c8443d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj f66cc57e72 gcc-configure: Pass distinct target flags
When building gcc-cross-canadian libgcc is built using
headers from gcc-crosssdk and not the target sysroot
because we do not pass proper CFLAGS for target bits
so it ends up using CFLAGS that were meant for compiling
canadian gcc itself. It does not show up as a problem
when building SDK with eglibc because eglibc-nativesdk
and eglibc have identical headers. The problem shows
up clearly when you try to build uclibc based meta-toolchain
since then nativesdk libc and target libc are different

(From OE-Core rev: 0e904103e9bd7fdb31bfcc129067511f9f45701b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Saul Wold 67fbab3dd5 gcc: Add plugins package for ARM, fix /usr/incude packaging
WARNING: For recipe gcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/include
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm/bpabi-lib.h
(From OE-Core rev: aff48c514174ba5fa3bb1e5df5293376b567da09)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold af7caf9250 libgcc: Package additional *crt*.o files for PPC
WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrtn.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrtn.o
(From OE-Core rev: b17c02d223455680324227f8de17feb8ab3e7b68)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:10 +01:00
Richard Purdie 2ddf7d3e83 gcc-configure-common.inc: Stop gcc looking at build system paths
There were puzzling failures when you make a force recompile of any gcc
component. The error was in do_configure with cross-compilation badness
being detected in config.log files.

gcc is different in that many of the config.log files are generated during
the do_compile phase. This means this host contamination issue has always
been present but only shows up on a rebuild.

The fix is to force the appropriate configuration variable to "none required"
then gcc won't look in the bad locations.

[YOCTO #2279]

(From OE-Core rev: e7135f14f3ef37f93f5c28b319464f3d6dd9b8da)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-15 18:09:57 +01:00
Richard Purdie 22aac28f28 gcc-4.6: Add fix for relocation problem and ccache
If the toolchain is reused from sstate and ccache is installed, build failures
were occuring due to gcc trying to access the original sysroot rather than the
new one, particularly if the old sysroot existed but was not readable by the
current user.

This turns out of the an issue inside gcc to do with preservation of the sysroot
option. See the gcc patch for more details. It only triggers when preprocessed
sources are used which happens when ccache is used.

The same issue occurs with c++ and c++-cpp-output so the same fix is applied there.

[YOCTO #2074]

(From OE-Core rev: d3a3e81869631ba69874f6fc172240e3aac388f5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-13 14:26:52 +01:00
Nitin A Kamble 834a17d6d8 gcc-cross-intermediate: fix do_install for x32
This Fixes [Ycoto #2223] bug.

The gcc osdir is obtained in the do_install by invocation of
command "gcc -print-multi-os-directory". For x32 it returns gcc
osdir for the default abi which is x86_64. Fix this by adding
target abi parameter to the gcc command line to get correct gcc
osdir with invocation of command "gcc -mx32 -print-multi-os-directory"

(From OE-Core rev: e65b6a4282d5c4882d0565b79ccba99db90161ff)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Richard Purdie 7fcb7c46b6 gcc-cross-intermediate: Ensure we move the libraries from the correct location
This fixes multilib issues if you try for example to use a BASELIB of /lib32
which wouldn't work without this change since the compiler install location
is taken from gcc -print-multi-os-directory which can still turn out to be
"/lib".

The reason is that a 32 bit gcc has no multilib code enabled and will always
return "." as that value rather than "../${base_libdir}" which our changes
to gcc enable and return in 64 bit mode.

(From OE-Core rev: cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:08 +01:00
Lianhao Lu 2e4ca98b7c gcc-cross-canadian: Clean non shipped empty directories.
Cleaning up non shipped empty directories.

(From OE-Core rev: e2fd32919e1d96136528c61677bdfeee2b064320)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:35 +01:00
Lianhao Lu 1c0afb853a gcc-cross-canadian: Fixed packaging warnings.
Removed non-shipped empty directories:
 -${prefix}/${TARGET_SYS}
 -${libdir}/../lib
 -${prefix}/include

(From OE-Core rev: 04a08bf7e8d7cf4b6b844a88173b5d1d7917c8af)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:03 +01:00
Lianhao Lu 74ee8de04b libgcc: corrected -nativesdk package namings.
1. Corrected the -nativesdk package namings.

2. Fixed package QA warnings:
WARNING: QA Issue: non -staticdev package contains static .a library:
libgcc-nativesdk-dev path
'/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc.a'
WARNING: QA Issue: non -staticdev package contains static .a library:
libgcc-nativesdk-dev path
'/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc_eh.a'

(From OE-Core rev: aff0373d8bfb7e9ea600fcc558433387818c520a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:07 +00:00