Commit Graph

549 Commits

Author SHA1 Message Date
Peter A. Bigot 6d78f392f5 gcc: recipe whitespace changes
Consistent use of whitespace in multi-line assignment, with special
focus on OECONF modifications.  Quotes on separate lines, four-space
indentation, one value per line.

(From OE-Core rev: d971db8b2259e4c35b871cccf130fba193849560)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:49 +01:00
Khem Raj ba4eb6d046 gcc-cross-initial: Use good old bfd linker by default
We already indicate our intentions to use ld.bfd by
specifying it in configure using --with-ld which works
ok unless here where we manually create symlinks to
binutils-cross components, when we use ld-is-gold feature
default ld points to gold and this symlinking has to be
aware of the fact that we configured binutils and gcc-cross to use
gold as default ld but gcc-cross-initial uses BFD ld

This would be visible when using gold and rebuilding
eglibc

(From OE-Core rev: 77cab553ee6caa940e21cca46ff134f84e65c171)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:49 +01:00
Mark Hatle fb8e2a860e gcc: Fix gcc-multilib-config comparison
Fix an issue on a multilib configuration that contains more then 1 multilib.

I.e. on MIPS64:

DEFAULTTUNE = "mips64"
MULTILIBS = "lib32n:mips64_n32 lib32:mips32"

While normally you'd use 'libn32', the above is legal.

With the startswith code, the system will look to expand the 'lib32' element
and find the 'lib32n' instead, and will result in a warning:

lib32 doesn't have a corresponding tune. Skipping...

(From OE-Core rev: ced919f6013fc0dbb8b8f75f87a8c0a4f416b1fe)

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>
2014-08-02 09:26:17 +01:00
Khem Raj fd3d11f2bc gcc: Upgrade 4.9.0 -> 4.9.1
Drop patches which are already available in 4.9.1

(From OE-Core rev: b2ecf4065fa5930b896b8790d153389e400eb0ec)

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>
2014-08-02 09:26:16 +01:00
Hongxu Jia 2ca9406701 gcc-4.9.inc: fix parallel building failure
The gcc-ar.o, gcc-nm.o, gcc-ranlib.o and errors.o included
config.h which was a generated file. But no explicity rule
to clarify the dependency. There was potential building
failure while parallel make.

For gcc-ar.o, gcc-nm.o and gcc-ranlib.o, they were compiled from one C
source file gcc-ar.c, we add them to ALL_HOST_BACKEND_OBJS, so the
'$(ALL_HOST_OBJS) : | $(generated_files)' rule could work for these
objects.

For errors.o, it is part of gengtype, and the gengtype generator program
is special: Two versions are built. One is for the build machine, and one
is for the host. We refered what gengtype-parse.o did (which also is part
of gengtype).

[YOCTO #6568]

(From OE-Core rev: aea4b2d58856226c471922dfa40650cba2f5a36a)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:13 +01:00
Hongxu Jia f6507d311a gcc-4.9.inc: fix parallel building failure
In subdir 'gcc', Most C source files included config.h which was
generated by a rule. But no related prerequisites was added to
the C source compiling rule. There was potential building failure
while makefile enabled parallel.

The C source compiling rule used suffix rule '.c.o', but the suffix
rule doesn't support prerequisites.
https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html

We used the pattern rule '%.o : %.c' to instead, and add the config.h
as its prerequisite

We also moved the '%.o : %.c' rule down to the 'build/%.o :' rule, which
makes '%.o : %.c' rule doesn't override 'build/%.o :'.

[YOCTO #6568]

(From OE-Core rev: 86c2483f0fe05fb763d280ae22d70e54cb4bb0bc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:00 +01:00
Richard Purdie c6211d82f6 gcc-multilib: Simply/fix MULTILIB_OPTIONS handling
MULTILIB_OPTIONS takes the parameters which trigger a given multilib to be
selected. It supports *one* option per multilib, '/' separated. Spaces
separate options used to generate additional multilib combinations.

Adding in all of CFLAGS to this is therefore clearly a really bad idea
but how do we fix things?

The best option I've come up with so far is a list of whitelist variables
to use to trigger the multilibs. Its populated with the standard multilibs
we support, anyone setting up an advanced multilib can populate the variable
with the correct trigger parameters.

This has the advantage of simplifying the code and allowing us to remove
the code filtering blocks since there is no longer option duplication. Testing
after this change shows a much improved sdk toolchain functionality.

(From OE-Core rev: 29202cd1b9d2e5d56e5b9f7a596e44e229c90492)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:33:58 +01:00
Ting Liu 01e556cd0d gcc: update *LIBC_* linker relocation reglex
* GLIBC_DYNAMIC_LINKER64 reglex does not work for rs6000/linux64.h,
  update it.
* it turns out that UCLIBC_DYNAMIC_LINKER reglex will strip the 32/64
  chars from UCLIBC_DYNAMIC_LINKER64/UCLIBC_DYNAMIC_LINKER32, add '\b'.
  my two PCs: Centos 6.5 (python 2.7.5) and Fedora 13 (python 2.7.3)

(From OE-Core rev: a0b408191d64804df1748163060313af31433ac8)

Signed-off-by: Ting Liu <ting.liu@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-19 00:09:01 +01:00
Richard Tollerton 90362a4de5 gcc: Ensure c++ includes are in /usr/include/c++/${BINV}
It was observed that code using STLport 4.6 fails to compile under the
SDK with the following error message:

.../includes/cstddef:38:46: fatal error: ../4.7.2/cstddef: No such file
or directory

STLport 4.6 (screwily) assumes that the C++ system headers live in a
gcc-versioned subdirectory, for gcc>=3.0; cf
http://sourceforge.net/p/stlport/code/ci/STLport-4.6-patch/tree/stlport/config/stl_gcc.h#l269.

This assumption is *almost always* valid, because that matches the
default setting of --with-gxx-include-dir. We can match that behavior by
appending "/${BINV}" to our own --with-gxx-include-dir settings.

Natinst-CAR-ID: 446449
Natinst-Reviewboard-ID: 57209
Acked-by: Ken Sharp <ken.sharp@ni.com>
Acked-by: Ben Shelton <ben.shelton@ni.com>
(From OE-Core rev: 5a2ff3e8f7cd7a47a5ab4e581847ecc4df87fca3)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:33 +01:00
Paul Gortmaker 0ae5aadc6b recipes-devtools: fix segfault in lib32-gcc with "." multilib_dir
When enabling a lib32-gcc in a 64 bit build, without doing any
other configuration, the mutilib dir is unspecified, which is
represented internally in gcc as "." and as such uncovers an
invalid free on a non-malloc'd pointer.

As suggested by the gcc folks, simply make sure the "." case
is also stored in a malloc'd pointer, so that the intended
runtime behaviour of the code remains unchanged.

Patch has been accepted by upstream maintainers of gcc.

(From OE-Core rev: bf1473d0c1b099b8d919835cc430b99606134aab)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-29 09:04:21 +01:00
Mark Hatle e110809a52 gcc-cross-canadian: Add configure-target-libgcc
While we're not going to package the libgcc component as part of the SDK,
we do need to generate it to get the unwind, and quadmath headers.  Without
this change it is not possible to build eglibc or other components that
require these headers with the SDK toolchain.

(From OE-Core rev: e67b24401a366b20644510703c7140be975869ea)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-25 13:51:47 +01:00
Richard Purdie 79a3a77680 gcc-configure-common: Address problems with gengtype
The gengtype patch we apply to gcc aims to ensure that the build and host
config headers don't get confused. We're seeing build failures where
both headers have been included, likely due to a race over the configuration
files.

It seems the gengtype-lex.c file isn't being regenerated when it should
and the unconditional inclusion of bconfig.h is resulting in these issues.

The fix is therefore to remove the file, forcing its regeneration.

[YOCTO #6393]

(From OE-Core rev: dd649374b30eb2d9980dce6eae95db0563593ef7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-17 08:59:03 +01:00
Richard Purdie fe5bc386f6 gcc: Clean up configure_prepend and fix for mingw
The do_configure_prepend was duplicated in gcc-4.X.inc and
gcc-configure-common.inc leading to confusion when reading the resulting
do_configure task where the file was processed twice.

The only difference was the removal of the include line for gcc 4.8/4.9.

On mingw were were seeing two issues, firstly that the if statements meant
the values we wanted weren't being set, the second that the include
paths were still wrong as there was no header path set.

To fix the first issue, the #ifdef conditionals were removed, we want
to set these things unconditionally. The second issue is addressed by
setting the NATIVE_SYSTEM_HEADER_DIR variable here (it was already
set in t-oe).

(From OE-Core rev: db44be06c75f2ac17a55dd1764471e869e872b8b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:30 +01:00
Khem Raj 1491c5700c gcc, uclibc: Add/Fix Upstream-Status in patches
(From OE-Core rev: 68a0e34260f884f6fb39aae2d0bad035b2b1d177)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:29 +01:00
Alexandru-Cezar Sardan 88ddb5a6ff gcc: add patch to fix errors with Decimal64 type
[OE-core bug #6270] - https://bugzilla.yoctoproject.org/show_bug.cgi?id=6270

(From OE-Core rev: 8f8ef80131d4aa62a4b106d365a5e7b6273c766d)

Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-29 17:53:40 +01:00
Petter Mabäcker dd0442a1ee gcc: remove usage of FILESPATH
Fixes [YOCTO #4497]

Usage of FILESPATH is discouraged, since it can make recipes harder to
bbappend. Instead FILESEXTRAPATHS should be used to extend the path.

(From OE-Core rev: 879ff7e931a80fd090db4485b6b6dee8e4c71d30)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-13 19:32:05 +01:00
Richard Purdie 4666045677 gcc: Handle uclibc linker relocation for multilib support
We need to handle the UCLIBC_* linker variables in the same way
as we do the GLIBC_* ones to allow uclibc multilib to work properly.

(From OE-Core rev: 025ec5958b7e1fd71caa0079ec3c573126b30886)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 13:11:28 +01:00
Richard Purdie 96e488b76a python3/gcc/autoconf: Fix Upstream-Status in some patches I authored
(From OE-Core rev: 337798fa5c0a1d1e745a143f6a9f398b07f0628f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-07 15:14:34 +01:00
Khem Raj 3d094751c8 gcc: Add 4.9 recipes
(From OE-Core rev: f051216ea373f166016b15bbd2a2a6f136430372)

(From OE-Core rev: d4573cb750bfde488682244d30266dfe675bac06)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-06 17:59:15 +01:00
Richard Purdie dabd58b030 gcc-common: Ensure checksums don't change to match old behaviour
There is a fix about to go into bitbake to ensure that datastores
being accessed with a name other than "d" are correctly reflected
in checksums. This will cause this function to add in a number of
dependencies we don't want.

These do need to be properly unravelled in due course but would
only really affect multilib builds. For now therefore just exclude
the variables as per the old behaviour.

(From OE-Core rev: cbc41a573dd3a073e7b862ca9d763ce815e8f927)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-03 11:24:48 +01:00
Max Eliaser 64df4e4aef Add texinfo.bbclass; recipes that use texinfo utils at build-time inherit it.
The class itself currently does nothing. The idea is to mark all recipes that
make use of the texinfo utilities. In the future, this class could be used to
suppress the generation/formatting of documentation for performance,
explicitly track dependencies on these utilities, and eliminate Yocto's
current dependency on the host system's texinfo utilities.

(From OE-Core rev: e6fb2f9afe2ba6b676c46d1eb297ca9cc532d405)

Signed-off-by: Max Eliaser <max.eliaser@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-02 20:46:59 +01:00
Richard Purdie 075e2884ce gcc-common: Only apply fpu settings to target gcc
Within the OE build environment, we supply the correct fpu settings. These
only need to be spelt out for the on-target gcc.

Doing this means the checksums for the core compiler don't depend on the fpu
settings. We exclude the compiler tunes for similar reasons, it doesn't need
to influence the compiler build.

(From OE-Core rev: ce1f3fd20d81545d6d5dfc68f86f9fddf8ac9bbf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-02 20:46:58 +01:00
Richard Purdie 5e4db52ea6 gcc-cross: Drop TARGET_CC_ARCH
Since we no longer build target libs within gcc-cross, we can drop the
TARGET_CC_ARCH flags and hence make it independent of tune.

(From OE-Core rev: 74d8866814aec520822518cc4cb8a942f7069bf7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-02 20:46:58 +01:00
Richard Purdie ecf2a8cecf gcc: Drop ARCH_FLAGS_FOR_TARGET usage
As far as I can tell this variable is now completely unneeded. It would
only ever get used in target builds and these are now correctly done
in the target environment namespace, not any of our cross environments.
As such, CC and other variables contain the correct compilers and other
tune options and these are correctly picked up when building libgcc,
libstdc++ and others.

I tried to figure out where else these would make any sense and couldn't
find anything. Builds appear fine without them so lets drop the complexity
including the patch adding in this flag to gcc.

(From OE-Core rev: 5484596f4252e707ff791feedf143a72dbb613f6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 16:39:06 +01:00
Richard Purdie f07b7c0da1 gcc-common/gcc-configure-common: Move gnu-configize to its own shared task
This command modifies ${S} and can race against other tasks running do_configure and
having the scripts disappear from under them. To avoid this move to its own
task and work on the shared work directory as a common task.

It needs to be a python task to avoid lots of shell exported variables as
dependencies.

(From OE-Core rev: 55ed9ffbab5118140baac5d0d29dcc919e1f1668)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 16:39:06 +01:00
Richard Purdie 2b851b99f5 gcc-target: Limit compile to host targets, don't build runtimes.
Currently the gcc builds are building copies of the target libraries
that we never use (it isn't installed in do_install). This is a rather
pointless waste of cpu time.

Instead just compile the host targets. Comparing the package output of
this compared to a previous build shows that the unwind.h header is
missing since its provided by gcc. Fix this simply by copying it in.

(From OE-Core rev: 19448a50c106684ee7e3862f759418c982363a29)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 16:39:06 +01:00
Richard Purdie e078edbf99 binutils/gcc/gdb: Add TARGET_ARCH to PN for all cross recipes
This allows them to co-exist together in the native sysroot, with one
set of cross tools per target architecture.

(From OE-Core rev: a2c5509520d5c3e082f55844e6545d0309565f8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 16:39:06 +01:00
Otavio Salvador 4c14b09498 Globally replace 'base_contains' calls with 'bb.utils.contains'
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.

(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:19 +01:00
Otavio Salvador 08a38a7865 Globally replace oe.utils.contains to bb.utils.contains
BitBake has the exact same code as oe.utils.contains so there's no
reason to duplicate it. We now rely on the bb.utils.contains code for
metadata.

(From OE-Core rev: 93499ebc46547f5bf6dcecd5a786ead9f726de28)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:19 +01:00
Richard Purdie 5f993cb112 gcc-cross-initial: Separate out libgcc-initial
Its useful to separate out the native (cross) binaries from the target
compilation. We already do this for libgcc, this now takes the same
approach for -initial.

(From OE-Core rev: 8a2aaf8b6bdca2d28c0047093c7f668750d57666)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:18 +01:00
Richard Purdie ee758b6927 gcc-cross: Improve handling of unwind.h
Rather than building the whole of libgcc to obtain the unwind.h header
file, simply configure it and then install the file. This avoids copying
chunks of data around when we don't need to and building the same thing
twice.

After doing this we need to make sure the target build directory exists
in the libgcc case since it will no longer be created automatically.

(From OE-Core rev: 459e4dc25462771038459567c22e87d4cd38b117)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:18 +01:00
Richard Purdie 44c80284bf libgcc: Spit out common code into libgcc-common.inc
Prepare the ground for the creation of libgcc-initial by splitting common
libgcc code into a libgcc-common.inc file.

(From OE-Core rev: 7c9f4a22d5c14d768be872beb9fc798163d6d204)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:18 +01:00
Richard Purdie 5c9025e07d gcc: Convert to use hardlinkdir
(From OE-Core rev: 204bc1f39030a3c0dd3eadadabb013aca8bb9cc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:18 +01:00
Richard Purdie 3c77416b1b gcc: Fix a race over unwind.h
There are two places unwind.h is installed, even by the Makefile's admission.
Disable one of them to prevent build failure races.

(From OE-Core rev: d3b02218dcfedda8e4efb43b8fa6d13af8d91f78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 17:35:16 +01:00
Alexandru-Cezar Sardan 21f9cc27d7 gcc: enable multilib setup for powerpc64 arch
(From OE-Core rev: 99fadf2ff9f4379121fde6477383e7574519fba4)

Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 14:26:07 +01:00
Martin Jansa de4d7c3062 gcc-target: remove infodir
* it uses autotools but doesn't call autotools_do_install
* fixes QA warning:
  gcc-4.8.2: The /usr/share/info/dir file is not meant to be shipped in a particular package.

(From OE-Core rev: 0b62f8b012d8a128f34bd85a26aa97ea939cbf64)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 11:53:51 +01:00
Alexandru-Cezar Sardan 7f14950927 gcc: changed multilib options handling
Duplicate parameters in the tune args are repeated in the
MULTILIB_OPTIONS variable. This leads to incorrect configurations
if the order of the parameters is bad.
(Eg. "mhard-float m32/mhard-float m64" leads to an incorrect config)
This patch finds the common parameters and removes the duplicates.

(From OE-Core rev: 90dc31c24adfa8e916a9c475ae1afc58ad179dfb)

Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 23:37:01 +01:00
Cosmin Paraschiv ea8640ee0d gcc-runtime: Build libatomic
GCC 4.8 includes a new runtime library, libatomic, which supports
atomic operations not supported by hardware or the OS. Build it,
so other packages can link against it, if needed.

(From OE-Core rev: a4dd6dfccee0be50d3addce3dd1bf903e051ad5a)

Signed-off-by: Cosmin Paraschiv <cosmin.paraschiv@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 12:05:53 +00:00
Ross Burton baa8b031f2 gcc-cross: don't use oe.path.relative
Instead of using oe.path.relative, use the Python Standard Library function
os.path.relpath.

(From OE-Core rev: 90c3a0401c566e26d89a5c0410b2a51fe27b95b2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:58:44 +00:00
Alexandru-Cezar Sardan 30b5a6ed25 libgcc: make sure symlinks are created in a valid directory
When adding extra symlinks, we have to make sure that the directory
that the links are created in is valid. Added a check for this.

This is an incremental addition to commit
97f2a81d6796ddaf7bbaab86c2ab9039673c732c

(From OE-Core rev: ea297e807f4f84c281e0f8c6c4470ee3f3fa949b)

Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:58:44 +00:00
Tom Zanussi 7217f9290d gcc: Add upstream fix for gcc bug 58595
Fix for internal compiler error hit when building lttng-tools_4.2.0:

 kernel-consumer.c:324:1: internal compiler error: in gen_movsi, at
   config/arm/arm.md:5539

(From OE-Core rev: ec1d5bdf4cc0a7a3e4747b42b7b95805752bea07)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:49:32 +00:00
Alexandru-Cezar Sardan 83b20f8508 gcc: Enable SPE & AltiVec generation on powepc*linux target.
[ADT bug #5761] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5761

Also this patch adds symlinks to libgcc such that a GCC configured
by passing the target parameter without LIBCEXTENSION and ABIEXTENSION
specifiers to find the correct startup files from a libgcc configured
with these variables.

(From OE-Core rev: 97f2a81d6796ddaf7bbaab86c2ab9039673c732c)

Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28 14:01:14 +00:00
Holger Hans Peter Freyther 5e6db9dc4d gcc: Include patch scheduled for GCC 4.8.3 to fix epilogue on ARM
GCC 4.8.0, 4.8.1 and 4.8.2 can generate broken epilogues for the
ABI used by the kernel. Apply the patch that is included for GCC
4.8.3 from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854.

The issue was found on Yocto/Dora and the patch should be backported
to this branch. A kernel built with Dora's GCC 4.8.1 misbehaved on:

 while true;
 do
    (for i in `seq 1 100`;
        do
            echo "Log message... $RANDOM";
        done) | logger;
 done

busybox's syslogd would from time to read a huge negative value and
then exit, strace would get stuck waiting on a syscall. After this
patch it appears to work better.

(From OE-Core rev: 3004eb3b7ee5fd8dfe9c4e5749b4e125d0bd4b59)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-31 15:44:22 +00:00
Richard Purdie eae54224ab gcc: Drop 4.7.2 version since 4.8 is stable now
We've had 4.8 around for a while now, I'm not aware of any issues with
it so we can drop the older 4.7 version.

(From OE-Core rev: 15685dccd37f7636bbdd56af04a9dbc9b7595612)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:26 +00:00
Paul Eggleton 9f8f4fd1f9 Basic recipe formatting fixes
Fix statement indenting and spacing issues that I happened to notice.

(From OE-Core rev: d11e297b007aba625b398c52952ec929c3b02b83)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:21 +00:00
Paul Eggleton cec8b230cf Replace one-line DESCRIPTION with SUMMARY
A lot of our recipes had short one-line DESCRIPTION values and no
SUMMARY value set. In this case it's much better to just set SUMMARY
since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY
is at least useful. I also took the opportunity to fix up a lot of the
new SUMMARY values, making them concisely explain the function of the
recipe / package where possible.

(From OE-Core rev: b8feee3cf21f70ba4ec3b822d2f596d4fc02a292)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:18 +00:00
Richard Purdie e5ee1b8c0d sstate: Convert to use ':' as a filename sperator and use SSTATE_SWSPEC globally
Currently the code has problems differentiating between "gcc-cross" and "gcc-cross-initial"
sstate files. We could add in a ton of special casing but tests show this isn't scaling
well. Using a more unique separator resolves the issue.

The choice of which separator to use is a hard one. We need something which isn't commonly
used in PN, PV, PR, *_OS and *_ARCH which rules out '-', '_' and it needs to work ok with
webservers/http which makes ';' and '%' harder.

The change also sets SSTATE_SWSPEC globally since writing out differently named siginfo
files for the fetch/unpack/patch tasks is a waste of diskspace, the hashes match for
all PN in the majority of cases and if they don't, its not a big issue as the hash is
different. This makes the results from sstate debugging more understandable.

(From OE-Core rev: 6f823a23c5f1d0ffa0a27db1c1bc1907de788505)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20 12:26:31 +00:00
Richard Purdie 7935ae2e80 sstate/gcc: Fix shared workdir handling for siginfo files
For a shared workdir, any one of the fetch/unpack/patch tasks may run yet the
PN and architecture fields in SSTATE_PKGSPEC may differ. This makes looking up
the appropriate siginfo file near impossible.

I've tried several different ways of resolving this and this is the neatest
solution I could find, its still rather ugly. I believe the usefulness of
better sstate debugging outweighs the ugliness of the code.

This patch also changes the sstate_checkhashes() code to look for siginfo
files rather than the actual sstate packages themselves. This means the
function can be used in other contexts to find info files for tasks that
may not have sstate data. It is assumed that sstate mirrors will have both
files available. This is done to allow bitbake to query whether tasks have
matching signatures in sstate directories or not.

(From OE-Core rev: 068e4289b597699cbff2dfde44ba833af4535281)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-18 17:08:04 +00:00
Robert Yang 8a8a0c3a83 gcc-4.7/gcc: disable sdt from configure.ac to keep compatibility with configure
We had disabled the sdt from configure, let's also disable it from
confgure.ac to keep them compatible.

BTW, the libstdc++-v3 of gcc-4.7 doesn't use the sdt, so we don't need
to edit libstdc++-v3/configure as gcc-4.8.

NOTE, this commit edit the patch gcc-4.7/disablesdt.patch directly.

[YOCTO #5657]

(From OE-Core rev: 452c6afc3883b0304e06eb1764614348fb6599c8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-18 11:21:28 +00:00
Robert Yang fd0d15f0dc gcc-4.8/libstdc++-v3: disable sdt
We may meet such an error when building gcc/libstdc++-v3:

gcc-4.8.1/libstdc++-v3/libsupc++/unwind-cxx.h:41:21: fatal error:
sys/sdt.h: No such file or directory

We already have a patch to disable the sdt for gcc, we also need disable
it for libstdc++-v3.

BTW, we need edit both configure.ac and configure to make them keep
compatible.

NOTE, this commit edit the patch gcc-4.8/0031-Disable-sdt.patch directly.

[YOCTO #5657]

(From OE-Core rev: 32854af3cc6c0626620e827dc1915f61c51250b8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-18 11:21:28 +00:00
Richard Purdie 1dcbf3096d gcc-crosssdk.inc: Fix missing dependencies (such as libmpc-native)
Without this sstate builds can fail with missing dependencies.

(From OE-Core rev: f92ebf78d94cb8f4010f8d444d1d0336c1fb1341)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-16 12:13:49 +00:00
Richard Purdie 5bde5d9b39 gcc: Allow fortran to build successfully in 4.8
gcc 4.8 fortran presents some challenges:

* libquadmath headers need to be in the libexec include dir. It turns out
  to be easiest just to manually do this.
* libgfortran configure needs libquadmath to be compiled. This means
  a separate recipe is needed (the alternative is gross hacks)
* the libtool uses to link libgfortran doesn't have our improved rpath
  handling and puts bogus RPATHS into the libraries. We can avoid this
  by tweaking libtool with sed.

This patch resolves those issues. Any user of fortran does need to DEPEND
on libgfortran in order to trigger it to build but this shouldn't be a major
issue.

(From OE-Core rev: a5e7ee5770b9e0cf719c573efffd874440f74289)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05 14:24:43 +00:00
Richard Purdie 6ab56c54f3 classes/recipes: More optimal DISTRO_FEATURES references
Using the contains function results in more optimal sstate checksums
resulting in better cache reuse as we as more consistent code.

(From OE-Core rev: 9c93526756e7cbbff027c88eb972f877bcb1f057)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05 14:24:43 +00:00
Richard Purdie a6b55d9d83 gcc-cross-canadian: Fix fortran build
When fortran was enabled, builds were failing due to a extra files.
For now we can remove these and avoid the build failure.

(From OE-Core rev: 2e60ef7fe63974e443a9ddc25c5eb4249ec37963)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-02 11:28:27 +00:00
Richard Purdie 7b9f4b2cd0 base/gcc-common: Ensure umask setting is consistent for shared workdir
gcc has cross and target components with a shared workdir. The unpack umask
settings need to match for all of these. We need to use strings in each
case to ensure the sstate code matches them correctly.

This patch tweaks various things to ensure the change adding the unpack umask
change doesn't break the compiler builds.

(From OE-Core rev: 67162438ee9c402b23c32853af9d313949eb6e4a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-29 11:24:48 +00:00
Khem Raj b4a0164418 gcc: Upgrade to 4.8.2
The details for bug fixes between 4.8.1 and 4.8.2 is here

http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.8.2

Remove the patches that were applied upstream

(From OE-Core rev: 3e5922a2ed250361e76ea616baba2f8d9332e20f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-22 12:03:01 +00:00
Lei Liu e2ea549f10 gcc-common: Enable building multiarch mips gcc
MIPS gcc is not configured with multiarch enabled.  This causes
compiler generates local label with $ prefix, which is specified
in default o32 abi.  It is not recognized as local symbol by n64
assembler, so we get a lot of unexpected external symbols.  We
should configure MIPS gcc with --enable-targets=all, as for other
archs.

(From OE-Core rev: c210393b3e0c54606493e311d7c2040efebc4dcd)

Signed-off-by: Lei Liu <lei.liu2@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:28 +00:00
Richard Purdie bd1cf71974 cross-canadian: Handle powerpc linux verses linux-gnuspe
PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This
patch links them together so the one cross-canadian toolchain can support
both.

GCC_FOR_TARGET is set for the GCC recipe as otherwise configure
can pick up an incorrect value.

[YOCTO #5354]

(From OE-Core rev: a1d6331238982b0c5d39b0a18794f6654b00d46a)

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>
2013-10-30 17:33:12 +00:00
Richard Purdie 1960f00684 gcc: Fix strange C++ repo issues
(From OE-Core rev: 9f6c4edf40963d1f3fb9f7e2d2b7a866aa1afe57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-14 16:55:22 +01:00
Richard Purdie 20a86e16bc cross-canadian: Fix TUNE_PKGARCH references
The cross-canadian compilers are now build once per architecture but were being
installed into tune specific locations which is incorrect. This adjusts things
so they are make TARGET_ARCH specific. We gain the tune specific parts from the
target sysroot which remains tune specific, the compiler and tools are independent
ot that.

binutils/gcc require sysroot options but since we reset at runtime, these shouldn't
have dependencies in the sstate checksums. They are therefore also excluded.

With these patches, switching machines does not result in a rebuild of *-cross-canadian
and the compiler is correctly located and referenced in the target images.

(From OE-Core rev: f58acab6414fe96d9e07ebbe86b348d2ac2bed5f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-04 18:26:50 +01:00
Richard Purdie f81f4c5f21 gcc-common: Improve fpu code checksum dependencies
We only care about the end result in this case, not the specific inputs
that went into determining the gcc option. This change updates the code
to reflect that.

(From OE-Core rev: 83055511dab1e2aeefe84262ebe52595848c844b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-04 18:26:50 +01:00
Richard Purdie 32edeb391f gcc/libtool/perl: Fix various path to sed-native problems
If sed-native is built before these programs, hardcoded paths to sed-native
can end up in scripts and other parts of the system which may cause issues
if they are later used from sstate and sed-native is not installed.

To avoid this, this patch changes the global site configuration to
specify that plain "sed" is fine to be used. We need to spell this
out for gcc since it doesn't see the site files since we don't autoreconf
it. We can remove the values from libtool. We tell perl to use "/bin/sed"
since it requires a path and the system sed should be just fine for it.

[YOCTO #4971]

(From OE-Core rev: 2ec171cb188601bf18c6c2895870907024b1c52a)

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>
2013-09-26 16:37:56 +01:00
Richard Purdie 87e86d4fd3 gcc-target: Fix libatomic dependency tracking issues
The --enable-dependency-tracking option was added to workaround build
issues in libatomic. This fixes that build problem properly and removes
the flag since the dependency tracking code appears to be full of races
which are much deeper and harder to fix.

As per the automake manual, dependency tracking is only useful and worth
the build performance cost if you are doing more than one compile of the same
source code which in most cases we are not so this is a good thing anyway.

(From OE-Core rev: a3b665a80abed4c0659925e1cceb1568af023711)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Martin Jansa 7a3d2fbcdf gcc-4.8: temporary disable thumb
* temporary work around for build issue on armv4t:
  | cp/decl.o: In function `bad_specifiers':
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7171:(.text.unlikely+0x24): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7173:(.text.unlikely+0x32): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7176:(.text.unlikely+0x3e): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7180:(.text.unlikely+0x4c): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7182:(.text.unlikely+0x5a): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7185:(.text.unlikely+0x66): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7189:(.text.unlikely+0x74): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7191:(.text.unlikely+0x82): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7194:(.text.unlikely+0x8e): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7198:(.text.unlikely+0x9c): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7200:(.text.unlikely+0xaa): additional relocation overflows omitted from the output
  | collect2: error: ld returned 1 exit status
  | make[2]: *** [cc1plus] Error 1

(From OE-Core rev: 148c7e990831ed708f7fb064ec8f05657a323850)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:32 +01:00
Richard Purdie 8ebe7be3d9 bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.

This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.

With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.

The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.

It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.

(From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie 95d413d03f gcc-runtime: Add packaging for libgfortran (and also tweak others)
Add packaging for libgfortran and libquadmath as well as tweak the packaging
for libmudflap since it was broken.

(From OE-Core rev: 8a726d14a345ef35c6d8d8e369bf3691cee879bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:56 +01:00
Richard Purdie 554c892ccf meta: Don't use deprecated bitbake API
These have been deprecated for a long time, convert the remaining
references to the correct modules and prepare for removal of the
compatibility support from bitbake.

(From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:42 +01:00
Chunrong Guo 03325fe9c5 gcc-4.8: fix ICE of cross-compile for PowerPC e500v2 targets
* http://gcc.gnu.org/bugzilla//show_bug.cgi?id=57717#c7

  * fix the segfault issue of dd on e500v2 targets
    Since double-float is disabled for e500v2 targets build due to ICE of gcc-4.8.1,
    accordingly %Ld format of sprintf is disabled.
    Address Bug 4910 - [p1022ds]urandom: segmentation fault

(From OE-Core rev: a4fefac26d91bc56d5d28e1c9973a189d2509d45)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Richard Purdie 325ee9b5fc gcc-4.8.inc: Allow lto to be configurable
For some platforms its useful to be able to configure LTO so provide a variable
to allow this to happen.

(From OE-Core rev: e4582a51a2500ad3b418e53170f5fb6b2cbd98a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 13:48:47 +01:00
Richard Purdie ae8e3b6575 gcc-4.8: Add two patches to deal with cross-canadian build failures
See the patch headers for more information about the cross-canadian build failures
these patches avoid.

(From OE-Core rev: 2bae60b8a3cb7783c06e35a2962e56110e876957)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Richard Purdie 861b0d50b9 gcc-common.inc: Drop unused LIBGCCS_VAR variable
(From OE-Core rev: b1449f6e5be13a8c58bf38302236091d046f0215)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie 5af02f216a gcc-cross.inc: Clean up after merge
* Remove the duplicate EXTRA_OECONF_PATHS that is overwritten
* Merge the do_compile and do_compile_prepend
* Group dependency and configuration variables together

(From OE-Core rev: 430b1d6fcbf60df35036fe5bbf8e55f7fb8f5341)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie 8b855ad32d gcc-cross-canadian: Fold configure-sdk and package-sdk into the main .inc
This also has the advantage of removing the confusing sdk naming which
has been purged everywhere else in favour of cross-canadian.

(From OE-Core rev: cbb63ca9e7e6d397198808e862f812f1012c74a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie aa77ec7eef gcc-*-runtime.inc: Fold configuration into gcc-runtime.inc
(From OE-Core rev: 9cdfd55de8dbdea3d5e5ed25fbc67d1f198a069a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie 2eb9c1cc75 gcc-*-cross.inc: Fold common configuration into gcc-cross.inc
(From OE-Core rev: 8f6df85ca90c038316ca1ed22e9c54f937f21406)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie 0dfc8aabef gcc-target: Combine gcc-target-configure.inc, gcc-target-package.inc and other common code
(From OE-Core rev: 86bbe5b7b8e8f0c6ee88888fa083053ae14765c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie deae329c3c libgcc: Move common code to libgcc.inc
(From OE-Core rev: 3b627b0a8e91a08a3e2a44c71d312ae303fb5d62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie 697102321e gcc-runtime: Fold common configuration into gcc-configure-runtime.inc
(From OE-Core rev: 17ba68f9ae09ae20eb11dfb03bcaa99428b74bf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie c5530199af gcc-cross-initial: Fold common configuration into gcc-cross-initial.inc
(From OE-Core rev: 7a9202d0478f0021b0ecd03b8d4af8d56c8e3265)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie d39770efd7 gcc-cross: Fold common configuration into gcc-cross.inc
(From OE-Core rev: a77a8011e56f7cddf22adc63270aa9f44c86062a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie 50170617c6 bitbake.conf/classes/gcc: Don't hardcode -nativesdk
Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have
multiple different target OS and we need a way to be able to separate them. Turning
this into a configurable value allows the flexibility we need to build different
SDKMACHINEs with different OS targets.

The commit should have no behaviour change, just makes things more configurable.

(From OE-Core rev: a2110e86b98d646e136de9ec6b8e668079b0d4f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie a966f3017b gcc-cross-canadian: Merge 4.7 and 4.8 recipes into common include
This removes duplication and follows the pattern of the other gcc recipes.

(From OE-Core rev: 3296c896f5a5ef7dd50ab4e00ddbf1c2476462dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie 1995053285 gcc-cross-canadian-4.8: Add missing dependency on nativesdk-zlib
(From OE-Core rev: c782bd4de511b6e603a72a00124a77be52e50dce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie 505634bbab gcc-cross-canadian-4.8: Allow elfutils to be a configurable dependency
Some SDK platforms have elfutils support, some do not, therefore allow
this to be configured.

(From OE-Core rev: 717e940d2c2beccfda31dda16a2d0d6d9a495042)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie bcdc1cd6a7 gcc: Drop gcc-cross4.inc, its pointless now
The include was useful historically, its not anymore so lets remove it.
This should have no functional change except on any layers directly depending
on it or gcc-cross.inc but even then it would only impact sh4 and is easily
fixed if there was a problem.

(From OE-Core rev: e7e8fe11c34bf05179f3bbaa2fb1af7b7125696a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie c63831ca12 gcc-configure-sdk.inc: Don't build target-libgcc
I don't understand why we're building the target libgcc in the canadian-cross build
since it should have been built elsewhere. The compiler configuration isn't correct
to build a working target libgcc in all cases anyway.

To avoid various weird build errors, stop building it.

(From OE-Core rev: b0d1ab6242b6ce2bcdd0e4e3e61600344fcd2907)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie eb99a300a5 gcc-package-sdk.inc: Allow executable extension to be overridden
On platforms like windows, executables have extensions. Whilst I'm not proposing
we wholesale support windows extensions, this small tweak allows a cross compiler
targetting mingw to be built which does seem like a good use case.

The patch therefore adds an EXEEXT which the mingw layer can set for the libexec
symlinks.

(From OE-Core rev: 8dcf0d95b654fa6cc56193168aaa744052ad8ffc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie f2985f0588 gcc-package-sdk.inc: Use relative symlinks in libexec dir
We already use relative links for other gcc libexec links, this changes the sdk
do_install to match elsewhere and use relative symlinks too. This makes things
slightly easier in the SDK installation process and standardises.

(From OE-Core rev: ecfa1141e731224cc5a099f8dfd22878f23359ec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie ea220e4dc6 gcc-cross-canadian-4.8: Enable PARALLEL_MAKE
This disabling of PARALLEL_MAKE has been forward ported for gcc-cross-canadian
since at least 2009-09 and gcc 4.3.3, probably older.

I've tested this with high values of parallel make and it all seems to work and
we usually build gcc with parallel make so it seems unlikely there are issues.
Lets therefore enable it.

(From OE-Core rev: cee90d230899eb1255d586e6ee4fad0d94348cfd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Khem Raj 5aff1820c5 gcc-4.8: Fix meta-fsl-arm iperf build issue
This should fix the problem seen where gcc ICE
was happening when compiling iperf with older 2.6.x
kernel

Test this patch by reverting below commit in meta-fsl-arm

commit daf582c93a7283fb0af3b25fe2ada48f4c9985c4
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Tue Jul 2 11:52:51 2013 -0300

    perf: Disable FPU tune for i.MX5 SoCs to workaround GCC ICE

(From OE-Core rev: 8ab1d16b6c6d946b625b6872e5d0f155206f4bad)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
CC: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:14 +01:00
Jonathan Liu dd8865aac9 gcc-4.8: fix compiling GCC when /usr/lib/libstdc++.so is present
libtool is picking up libstdc++.so from /usr/lib when trying to link
libasan due to libstdc++.la containing libdir="/usr/lib". If compiling
for x86 and the host has 64-bit /usr/lib/libstdc++.so, the compilation
fails linking libasan with:
/usr/lib/libstdc++.so: could not read symbols: File in wrong format

To resolve this, patch libtool to look for the library in the path the
.la is contained in rather than use the libdir which usually points to
a host path.

[YOCTO #4879]

(From OE-Core rev: ec95dfeea1f17eb232563e105085852058a86c0b)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-29 13:08:58 +01:00
Khem Raj fb58029ed0 gcc-4.8: Fix on-device SDK C++ runtime issue
This fixes the issue where g++ is not able to
find C++ headers when sysroot is '/'

The patch needs to be upstreamed into gcc as well.

[Yocto #4812]

(From OE-Core rev: 18537025ca8777a45cb24f1d9ee781323695607a)

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>
2013-07-18 21:23:44 +01:00
Khem Raj 3030bbd85d gcc-4.8: Fix ICE on ppc/spe targets
Rename patches to make them easly to apply with git

(From OE-Core rev: 040a55d0b730bf78aad0f51e0018faa88655e279)

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>
2013-06-28 09:14:07 +01:00
Mark Hatle 216e4dc4aa gcc: When cross compiling a target gcc, target flags may be used on the host
The original fix worked some of the time, but not on all machines.  Fix
this by applying the change in a different way.  Following the example of
the existing BUILD_CFLAGS.

Below is the commit message from the original change to help explain why
this is needed:

Configure identifies a number of warning flags (WARN_CFLAGS and
WARN_CXXFLAGS) from the $CC value.  The cross compiler may be different
from the host compiler and may not support the same set of flags.  This
leads to problems such as:

cc1plus: error: unrecognized command line option "-Wno-narrowing"
cc1plus: error: unrecognized command line option "-Wno-overlength-strings"

Work around this problem by removing the warning flags from the
BUILD_CXXFLAGS value, in a way similar to the BUILD_CFLAGS.

(From OE-Core rev: be21c6e8e4f810e826538337dac6e34ed96e1f6f)

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>
2013-06-25 17:44:58 +01:00
Martin Jansa 6038a40e0e gcc-4.8: Backport fix for ICE triggered in pixman
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57329

(From OE-Core rev: 255c22994449c3d9eb34c80f0a1159ad6714347e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-18 17:33:16 +01:00
Khem Raj a6daa838df gcc: Upgrade to 4.8.1
(From OE-Core rev: 1584e587288d355eef29f4f447a75388ed86f314)

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>
2013-06-13 17:38:08 +01:00
Roy.Li 2aed8981e6 gcc: add build directory to include directories
Add build directory to include directories by -I${B}/include which will
be searched before standard system include directories.

Both libunwind and gcc supply unwind.h, once gcc use libunwind's unwind.h,
the compiling will fail.

This patch is generally not applicable to the upstream as they do not
use libunwind.

(From OE-Core rev: 2b47bce78536a800205b2385bba69038351545e5)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-04 15:55:46 +01:00
Mark Hatle 807476eac7 gcc: Workaround for compiler flag mismatch
When cross compiling the target compiler, both the cross-compiler
and the host compiler are used.  However, the -W options used were
discovered from the cross-compiler and may be incompatible with the
host compiler.

(From OE-Core rev: 1f40202ce3c1282674b6cea39ef709972275f201)

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>
2013-06-04 15:55:46 +01:00
Khem Raj 40fe7adfd5 gcc-configure-cross.inc: Remove info generation
Some distros have newer makeinfo which does not go well with
anything below gcc 4.8, this fix avoids regenerating info files

(From OE-Core rev: 50ac2ed5299e2b47b2f3fd9c9cde9d733d2f8d9b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09 08:51:13 +01:00
Khem Raj 1e7b9ef7e2 gcc-configure-target: Add --enable-dependency-tracking to EXTRA_OECONF
Fixes errors seen while compiling gcc 4.8 for target, errors like

| /home/khem/work/angstrom/build/tmp-angstrom_next-eglibc/work-shared/gcc-4.8.0-r0/gcc-4.8.0/libatomic/cas_n.c:125:1: fatal error: opening dependency file .deps/cas_1_.lo.Ppo: No such file or directory

which are due to disabled dependency tracking but dependency files being still generated
while compiling libatomics.

(From OE-Core rev: c83cbc80af078d7be5deec44bba6e0ca29a5ee1a)

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>
2013-05-08 15:41:14 +01:00
Josh Cartwright 3681c89432 gcc-4.7: fix gcc ICE when building with gcc-4.8
Backport fix for internal compiler error when building gcc-4.7.2 with a
gcc-4.8.0 host gcc.

See upstream bug here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56308

(From OE-Core rev: b1dc91969f9bb0c2a3a4336f5e9a2f57aabb9f78)

Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03 16:19:20 +01:00
Phil Blundell 3dedd8f72c gcc-runtime: Avoid error when trying to remove nonexistent directories
If we didn't build libgomp then we won't have installed anything into
${infodir} or ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude.  Check
whether those directories exist before trying to remove them, else we
will lose.

(From OE-Core rev: 507e14ecdc5b4ff2ee7f1128d9f30c2948e10d5a)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03 16:19:20 +01:00
Khem Raj 88a4fd8ab2 gcc-4.8: Fix GCC ICE on arm
armv5t was seeing ICE on code from elfutils it has been fixed upstream
so lets backport it.

(From OE-Core rev: 6c50d60ce3fd7242e67a531d5875edeb8b7a3651)

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>
2013-04-22 14:45:04 +01:00
Elvis Dowson fd566d20b7 gcc-4.8: Refactor gcc-4.8.0 patch files.
(From OE-Core rev: 16ab55220c4b602a8406c7a4405c737caae5907b)

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
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>
2013-04-22 14:45:04 +01:00
Khem Raj c3cc4bfc83 gcc-4.8: Add recipes
(From OE-Core rev: c850415a1bdbb9268114d90fd0fc4cb3479de9c5)

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>
2013-04-22 14:45:04 +01:00
Martin Jansa 66bee6afa1 gcc: add patch to disable texinfo when texinfo is 5.0 or newer
* this is needed only for 4.7 series, newer works fine with texinfo-5*

[YOCTO #3947]

(From OE-Core rev: d85d15972d78b5dda7a03dd273a64305f115282b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-04 14:04:43 +01:00
Richard Purdie 9bfd92243e gcc-common: Exclude AVAILTUNES from sstate checksums
AVAILTUNES is only used as a sanity check, we don't need to
include it in the sstate checksum in this case. If included
it can cause problems when switching machines with a common
package architecture.

[YOCTO #3667]

(From OE-Core rev: b1cc5a4055c6402595eac1a93eac4c946210d130)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18 13:18:21 +00:00
Laurentiu Palcu 2c201656eb gcc-cross-canadian: do not create symlinks to non-existent binaries
If fortran is not built, soft links to gfortran and g77 are created
even though the fortran compiler doesn't exist...

[YOCTO #4023]

(From OE-Core rev: c5c135bc5e71a6f9b14f249358bf5d217050ee55)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-16 17:53:59 +00:00
Khem Raj f6cc25ce12 gcc-4.7: Fix incorrect warning with -Wcast-qual
This patch backport the fix where -Wcast-qual
reports a bogus warning with 4.7.2, There is
no workaround in code that can be done to avoid
it hence the fix to gcc is backported.

(From OE-Core rev: 5d8ef98225773a6ec88b5e1a76ce01d76163b3a5)

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>
2013-03-12 18:33:28 +00:00
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
Richard Purdie cb771ef55a Revert "gcc-cross: aviod creating invalid symlinks"
This reverts commit 7893e74311e53882d8f93ecb95a6bd9f5b14651e since it breaks
the builds.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 15:23:46 +00:00
Robert Yang d6426b63a3 gcc-cross: aviod creating invalid symlinks
There are several invalid symlinks in gcc-cross-initial,
gcc-cross-intermediate and gcc-cross, these cause the error:(56 errors)

tmp/work/i586-poky-linux/gcc-cross-initial-4.6.3+svnr184847-r23/temp/log.do_populate_sysroot:
log.do_populate_sysroot:grep: /path/to/invalid/symlink: No such file or directory

Avoid creating invalid symlinks would fix this problem.

Use the:
[ ! -e file ] || do_something
But not use:
[ -e file ] && do_something
is because that if the "file" doesn't exist, then the whole statement
would return false, and bitbake treats this an error, so use the "||" to
let it always be true.

[YOCTO #2095]

(From OE-Core rev: 7893e74311e53882d8f93ecb95a6bd9f5b14651e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:41 +00:00
Khem Raj 8ed044e499 gcc: Upgrade to 4.6.3 release
core-image-sato/core-image-minimal builds and boots
on all qemu machines

(From OE-Core rev: 40d7a4b70d342f75e13de7872fb62e2b9d6d40bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:36 -08:00
Richard Purdie b1aeaa8b0d meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:53 -08:00
Richard Purdie 06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:

sed \
 -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
 -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
 -i `grep -ril getVar *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:56 -08:00
Khem Raj d3b88ec632 gcc-cross.inc: Fix cross testing scripts to work with dash
dash does not like >& so be explicit and say 2>&1

(From OE-Core rev: 1d262630853e65be9167d904b934b581acf64182)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:10 -08:00
Richard Purdie 36e918b8a8 Quoting fixes
We have various variables which are either not quoted at all or are half
quoted. This patch fixes the bad exmaples so everything is consistent.

(From OE-Core rev: 30253358f5e76fb7b25be27198b4c125e0dbdf2c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 12:52:12 +00:00
Lianhao Lu ab5eed4af1 gcc: Excluding the DATE/SRCDATE from do_patch dependency.
Corrected the error introduced by commit afb400e of dropping
DATE/SRCDATE out of the vardepsexlude list of do_patch.

(From OE-Core rev: 6546096d068b51cc9cf4557cdb35aee6f62838d5)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:36 +00:00
Lianhao Lu a2a03ba68b gcc: Ensure same sstate hashes for shared soruce directory
Ensure do_patch have the same sstate hashes for nativesdk variants of
gcc family recipes, since they share the same source directory.

(From OE-Core rev: afb400e9c3ddac604906bde44df5da29a6c134d9)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:46 +00:00
Richard Purdie c62296dab6 gcc-4.6: Some small performance tweaks
a) Use the system zlib to avoid building it for each gcc.
b) -initial and -intermediate don't need plugins or lto-plugin
   so disable them.

(From OE-Core rev: a124a0883507caf4ffb7e25be666f6781b30abdd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:45 +00:00
Khem Raj 54fd9ad71b gcc-cross-testing: Fix evaluation of user and target name
Dont use -q to grep we pipe to /dev/null anyway all we
care is the return status of grep

(From OE-Core rev: 9c575b5f37ee53eaf26bfdc468d4cbb661db703f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:29 +00:00
Saul Wold 22181a759d gcc-runtime: fix override from poky-lsb to linuxstdbase
(From OE-Core rev: 1f5de4b36ad5853e489e47078c830f12a1c71ce9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:44 +00:00
Saul Wold f54a443aa7 libgcc: Add INSANE_SKIP of staticdev for libgcc-dev and libgcov-dev
Skip the staticdev QA test since the static archives belong
with the -dev.

(From OE-Core rev: 3de810a7f745b253d4b63eea353a31514d64a2e3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:48:02 +00:00
Richard Purdie 0287f645f1 gcc-cross: Don't reference machine specific variables
gcc-cross is installed into a package architecture specific directory
and is not meant to be machine specific. This patch replaces MACHINE_ARCH
with PACKAGE_ARCH to ensure this is really the case.

This was found by examining sstate checksums.

(From OE-Core rev: b3ca57418f47b16ed0a63d3291bf7d31e3ca5a45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:30:57 +00:00
Richard Purdie 6b2cb82802 gcc-common.inc: Fix comment
(From OE-Core rev: a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 14:38:39 +00:00
Richard Purdie ef3c1dd356 gcc-common.inc: Ensure WORKDIR doesn't adversly affect sstate checksums
Changes in WORKDIR were changing the do_patch stamps between gcc-crosssdk
and gcc-cross. This excludes the variable since in this case, we don't
need want those changes to affect the signatures.

(From OE-Core rev: 0de85d2ca3bc9674323302a35995dfddb6044a71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 12:19:01 +00:00
Saul Wold eccece9553 gcc: move shared .a to their own package
Keep the *_nonshared.a in the libgcc-dev package as
required for linking, moved the other *.a libraries
into their respective packages (libstdc++ and libssp).

(From OE-Core rev: c2838d949ffd15282c72551b40c5fd81d0db1fa0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Saul Wold 307fcba065 libgcc: Seperate out libgcov.a from libgcc-dev
libgcov.a is moved to it's own libgcov-dev package, instead
of being part of libgcc-dev.

(From OE-Core rev: a82a3f8ec55e68a003420549392d638e565562fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Richard Purdie c47def3b04 gcc_4.6.bb: Drop duplicated SRC_URI component
This was duplicated from the main SRC_URI and was causing incorrect
task signatures. This simply removes the duplication.

(From OE-Core rev: cc8d02c582a72d07fd08c59d14ee5720e01a5cd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 10:20:09 +00:00
Richard Purdie 4ad01bdf3f gcc-package-cross.inc: Mark do_package* tasks as noexec
These tasks don't do anything, this just avoids the overhead of forking
to exec them.

(From OE-Core rev: 6708b3e908ae383922703390ac2d39f40348e1b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:39 +00:00
Richard Purdie 280e5fd212 gcc: Ensure that the shared source directory shared the same sstate hashes
The fetch/unpack/patch/headerfix tasks are shared and hence their sstate hashes
should also match. Sadly this is not the case since:

a) gcc-runtime applies an additional patch
b) The do_headerfix task was missing from libgcc
c) The do_headerfix task is a shell task and hence depends
   on all exported variables which can vary between cross and target
   recipes.

To fix this, the patch moves the patch to the common code, adds
the headerfix task to a common include file and disabled shell
dependencies on the do_headerfix task since its clear in this case
we don't need thsoe dependencies since we just call sed.

With this patch applied, all these recipes now share common sstate checksums.

(From OE-Core rev: 2c4569801a710f34a695b8d2a0ee7fc127fb34e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:38 +00:00
Nitin A Kamble f99917dd72 gcc: mark upstream status for all patches
Some patches were missing Upstream-Status informantion,
this commit adds that in those patches.

(From OE-Core rev: 01c3669856538eb34d329780e03df2dc7fb985f2)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:33 +00:00
Khem Raj af9c75c8f5 gcc-4.6: Let G++ relocate gxx-include-dir when using --sysroot option
Currently we have a problem in our cross compiler since we use
/usr/include/c++ to be default gxx-include-dir and then expect
the patch we did to do the relocation w.r.t. sysroot however it
does not quite work so and we end up gxx-include-dirs not respecting
sysroot. A small test case would be

tst-unique4.cc

and it would fails like

tst-unique4.cc:1:18: fatal error: cstdio: No such file or directory
compilation terminated.

weather we use --sysroot or not it does not matter

arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm

failed in same way.

so we redo the GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch based on upstream
submitted patch which tries to relocate the gxx-include-dir and to
achieve the relocation it has to be specified w.r.t to --with-sysroot
directory. e.g.

--with-sysroot=${SYSROOT}
--with-gxx-include-dir=${SYSROOT}/usr/include/c++

if we configure gcc like above then it becomes relocatable when
we run the compiler and specify --sysroot=<blah> then g++ will search
for gxx-headers under <blah>/usr/include/c++

if sysroot is not defined then it will use the default sysroot
and gxx-include-dir will be w.r.t. default sysroot.

Tested on qemuarm

/arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm
-v
...
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/arm-oe-linux-gnueabi
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/backward
...

and if I now change --sysroot to something else

/arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4
-v
...

ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++"
ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/arm-oe-linux-gnueabi"
ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/backward"
...

See now its looking for them in 'qemuarm4' sysroot

(From OE-Core rev: 28b772e42a20faebe1b4f415d28b42b7e0a424fb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:18 +00:00
Khem Raj 2480cc6a16 gcc-cross: Add cross testing driver for running regression testsuites
This script will be generated into the build directory of gcc-cross
It should be testing gcc and g++. libstdc++ tests are not run since
we build them as part of gcc-runtime but we can test them here by
building them with 'make all' and then running the tests

The script expects passwordless ssh access to target and is used
in form

./arm-oe-linux-gnueabi-testgcc kraj@192.168.7.2

inside the builddir of gcc-cross

(From OE-Core rev: 130b534fdb0b292158981a12d7d5f01c1a14cb2a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Dmitry Eremin-Solenikov db38fb3762 libgcc: reintroduce debug package, containing symbols
(From OE-Core rev: 1c97310f76999dc68de0958485d3edb75398854d)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:19:28 +00:00
Khem Raj 7e0c29c70d cross-recipes: Disable nls in gettext bbclass
Right now for cross recipes e.g. gcc-cross and binutils-cross
we specify --disable-nls .... --enable-nls on configure cmdline
the --enable-nls coming from gettext bbclass.

So we disable nls for all cross inheriting recipes in gettext
bbclass and then we remove the extra --disable-nls in gcc-cross
and binutils-cross

This patch needs testing. Please help

(From OE-Core rev: d66b379f809b9c75981848fcc71ed5de13382bf7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:23 +00:00
Khem Raj bf6be18e9f gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlib
This patch is a backport of http://patchwork.ozlabs.org/patch/110517/

(From OE-Core rev: 048c31c4e19d1bb060c79011cb25dfeff51c3ef1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:43 +00:00
Julian Pidancet a4b7188efd Fix multiarch DISTRO_FEATURE
Make get_gcc_multiarch_setting more elegant. Use a dictionnary
to store the config options and replace bb.data.getVar with d.getVar.
Remove i686 from the architecture list because it doesn't seem
to be a valid TARGET_ARCH any more in OE.
Configure gdb (gdb and gdb-cross) with --enable-64-bit-bfd if
multiarch DISTRO_FEATURE is present

(From OE-Core rev: 0b42b2fc118bef8ce0d1473b146673182f5d1f78)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 23:36:08 +00:00
Julian Pidancet 7edf5cff9c Introduce multiarch DISTRO_FEATURE
This patch introduces a distro feature which enables gcc to produce
both 32bit and 64bit code, and enables binutils to operate on both
32bit and 64bit binaries. It differs from multilib toolchains in
that it does not require to compile a version of the libc for each
architecture variant. However, the code produced for the secondary
architecture will not be linkable against the libc.

v2: - Renamed the feature name from "biarch" to "multiarch". The GCC
installation manual claims that the mips-linux can be made a tri-arch
compiler (http://gcc.gnu.org/install/configure.html)
    - For x86_64, the compiler is made bi-arch by default, so nothing
has to be done in particular.
    - I analyzed the gcc/config.gcc from GCC sources and added in this
patch all the architectures that could be made biarch with the version
of gcc currently used in OE, which are powerpc, and sparc, in addition
to x86. mips and s390 will probably be supported in future versions of
gcc. For x86 and sparc, only the --enable-targets=all option is valid
to make this work (this option doesn't have any other side effects than
making the compiler bi-arch). For powerpc, I used the
--enable-targets=powerpc64 option (although 'all' also works).

Note: - Untested on powerpc and sparc. But I believe it works the same
as with x86.
      - gcc in meta-toolchain is also made multiarch.

(From OE-Core rev: 99e295ef30ba02db3966c66619807c037ef5089f)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:06 +00:00
Dexuan Cui 1cfd618493 gcc-package-target.inc: add the symbol link /lib/cpp
When I was trying self-hosted-image, eglibc's do_install failed in the target:
ERROR: cannot stat bootparam_prot.h:
the cause is: rpcgen doesn't work properly: rpcgen can't exec /lib/cpp since
it doesn't exist.

According to http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/lib.html:
"if a C preprocessor is installed, /lib/cpp must be a reference to it, for
historical reasons. The usual placement of this binary is /usr/bin/cpp".

Typical distros, like Ubuntu, openSuSE, Fedora and RHEL, all comply with
the rule.

Actually in meta/recipes-devtools/gcc/gcc-package-target.inc, we do try to
package ${base_libdir}/cpp:
 FILES_cpp = "\
  ${bindir}/${TARGET_PREFIX}cpp \
  ${base_libdir}/cpp \
  ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
But unluckily we didn't create a symbol link in do_install.
This patch adds the symbol link.

(From OE-Core rev: 58fb9fbce2af05a469691390e75aebb2de16ca96)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 23:33:35 +00:00
Khem Raj 7022a8f804 gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-a
Backport fix for PR 47551 fixes the ICE seen on armv7-a/qt4-x11-free
Bump up SRCREV past gcc 4.6.2 release

(From OE-Core rev: dd2fdf9f5a3923c37e4ea2e46e347bb0657c2f5b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:55:12 +00:00
Michael Brown 36747532e7 gcc-4.6: fix toolchain build for SH4
(From OE-Core rev: da7bf75bcdd5759a0f551dcb7a0326aa2f40921c)

Signed-off-by: Michael Brown <Michael_E_Brown@dell.com>

Port patch from base openembedded. Since 4.6 already has fixes for config.gcc,
the fix only requires a one line change to gcc-cross4.inc.

The patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded) as of commit id
3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.

gcc-4.5: Fix toolchain builds for SH4/SH3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:45 +00:00
Richard Purdie c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Khem Raj 74d1c5e4ad gcc-4.6: Backport fix for PR32219
This fix is needed for gold to work. Otherwise
connman fails to build since it used hidden weak
symbols.

See

http://gcc.gnu.org/bugzilla/PR32219
http://www.cygwin.com/ml/binutils/2008-02/msg00239.html

The fix proposed to gcc had reviews which were not addressed hence the
patch is not yet
applied to gcc upstream.

connman can also have workaround by changing the visibility of these
symbols to be default
 __attribute__ ((weak, visibility("hidden")))

to

 __attribute__ ((weak, visibility("default")))

in include/plugin.h

(From OE-Core rev: 3cb2b003db7371b3a47d02c08352a262e1e419b4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:17 +01:00
Khem Raj 53f7342562 gcc-configure-sdk: Point sysroot to correct location
(From OE-Core rev: c9883733fed9267b1a936c08500a4caf8dc52d3d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:13 +01:00
Khem Raj 180caee1e2 gcc-4.6: Backport PR46934 fix
We have been hitting this issue on ARM/thumb and
have a workaround in place to compile samba
http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
This backport should fix the gcc bug

(From OE-Core rev: 75f7269a7a1da2494768d4be63c44b12c5cfeeeb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:36 +01:00
Khem Raj 6a85e28e95 gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
(From OE-Core rev: b1af6951e14d645fe861f289011c91ab6f1b6865)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:35 +01:00
Richard Purdie d2b4818c5c gcc: Drop old version 4.5.1
(From OE-Core rev: 59443380286010eda07f1434e918a3af8c8a31a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:09 +01:00
Richard Purdie add6cf80b9 gcc/binutils: Disable NLS/gettext dependencies
We force the C locale when running builds for determinstic error messages. We
therefore have no need to NLS support in binutils cross or gcc cross.

We also don't need the standard base/autotools dependencies for our
toolchain components since we don't autoreconf these.

This patch turns off nls and cleans up some of the dependencies resulting
in a slightly less convoluted set of build dependencies.

(From OE-Core rev: 54a3e2ee37003fc56af0339f857b0b6442790c26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:07 +01:00
Khem Raj 11d435684b gcc-4.6: Update to tip of FSF gcc-4_6-branch
(From OE-Core rev: ed7deecb9503420fbf8071445e077c32beda8dc4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:44:51 +01:00
Khem Raj 46ad3b0e2c gcc-4.6: Use --with-linker-hash-style configure option
Depending upon what hash style is in use this uses
the right flag for setting the hash style type. This
fixes the QA errors about missing GNU hash style reported
in gcc-runtime build particularly libgcc

(From OE-Core rev: f8edd9b872bcf14da037bd0b501ccc8c6fcc79bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:51 +01:00