| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
create a new package to have lto dev packages bundled
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
--with-native-system-header-dir is relative to sysroot which
is what we want --with-headers is deprecated anyway
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
We need -isystem=${target_includedir} in there
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
gcc-4.7 does not define STANDARD_INCLUDE_DIR
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Add new recipes for gcc-4_7-branch right now gcc 4.7.0
is latest release from this branch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Its better than duplicating the overrides
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Use libc-uclibc override instead of TARGET_OS
override
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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"
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
Cleaning up non shipped empty directories.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
Removed non-shipped empty directories:
-${prefix}/${TARGET_SYS}
-${libdir}/../lib
-${prefix}/include
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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'
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
| |
This reverts commit 7893e74311e53882d8f93ecb95a6bd9f5b14651e since it breaks
the builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
| |
core-image-sato/core-image-minimal builds and boots
on all qemu machines
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
| |
sed \
-e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data.expand *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
dash does not like >& so be explicit and say 2>&1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
Corrected the error introduced by commit afb400e of dropping
DATE/SRCDATE out of the vardepsexlude list of do_patch.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
|
|
|
|
|
| |
Ensure do_patch have the same sstate hashes for nativesdk variants of
gcc family recipes, since they share the same source directory.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
Dont use -q to grep we pipe to /dev/null anyway all we
care is the return status of grep
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Skip the staticdev QA test since the static archives belong
with the -dev.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
| |
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
| |
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).
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
|
|
|
|
|
| |
libgcov.a is moved to it's own libgcov-dev package, instead
of being part of libgcc-dev.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
|
|
|
|
|
| |
This was duplicated from the main SRC_URI and was causing incorrect
task signatures. This simply removes the duplication.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
These tasks don't do anything, this just avoids the overhead of forking
to exec them.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
Some patches were missing Upstream-Status informantion,
this commit adds that in those patches.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
| |
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|