Age | Commit message (Collapse) | Author |
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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
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>
|
|
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]
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Rename patches to make them easly to apply with git
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57329
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
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>
|
|
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.
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>
|
|
Some distros have newer makeinfo which does not go well with
anything below gcc 4.8, this fix avoids regenerating info files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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
Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
armv5t was seeing ICE on code from elfutils it has been fixed upstream
so lets backport it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
* this is needed only for 4.7 series, newer works fine with texinfo-5*
[YOCTO #3947]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If fortran is not built, soft links to gfortran and g77 are created
even though the fortran compiler doesn't exist...
[YOCTO #4023]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fixes errors when building SDK for multilibbed enabled
architectures.
[YOCTO #3832]
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>
|
|
- 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
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- 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]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
* move libgomp.info removal also outside that for cycle, can be removed outside if exists
* also use infodir variable instead of ${datadir}/info
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- add zlib to DEPENDS (it fails otherwise)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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
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>
|
|
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.
Signed-off-by: Colin Walters <walters@verbum.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There was a problem in commit ad23395cd1f6c0cbfcc6980b6071d589f9f6cde0 since
gettext-nativesdk was translated to gettext instead of nativesdk-gettext.
This fixes to use the correct dependency.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This allows BSPs for architectures with no thread support to set (for
example) "GCCTHREADS=no" without having to override all the other configure
parameters.
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This takes advantage of new bitbake functionality to clean up stale stamp
files when creating new stamp files.
[YOCTO #2961]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
arm patch is a forward port from OE/classic
ppc patch should help in building images with Os
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This avoids problems with libstdc++ having bad rpaths (/usr/lib/../.lib)
in its .la file. See the patch for more information.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* missing in 30617bde61a3b0a0944b49a0c9fb7159dacbb19f, eglibc-initial fails to compile in incremental build with OEBasic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|