Commit Graph

25 Commits

Author SHA1 Message Date
Richard Purdie 96aeec41bc meta: Update mirror urls to new format and update yocto project urls
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:04:12 +00:00
Richard Purdie 21f2dae46b libgcc: Explicitly wait for the libc packaging to occur before libgcc packages
libgcc can link against the libc and libc can be dynamically renamed
so we ensure we package after libc. There was code in the gcc core
for this in the ipk case but it wasn't moved as part of the libgcc
split, this change fixes that oversight.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:37:32 +00:00
Richard Purdie 82745e4f32 cross.bbclass: Move sysroot_stage_all function to the only place that uses it now (gcc-cross-intermediate)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie c0e1272d15 gcc/libc: Change bootstrap to use an intermediate sysroot and hence no longer overwrite files
Based upon patches from Dexuan Cui <dexuan.cui@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:25:45 +00:00
Dexuan Cui 23cb814b27 gcc-cross-intermediate, gcc-crosssdk-intermediate: change CROSS_TARGET_SYS_DIR and install into new locations
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 12:25:45 +00:00
Dexuan Cui 34729e4f82 gcc-cross-initial, gcc-crosssdk-initial: change CROSS_TARGET_SYS_DIR and insall into new locations
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:18 +00:00
Dongxiao Xu bc9d2fbfd4 staging: Use relative path in sysroot-destdir for target recipes
Original we used absolute path in sysroot-destdir for both native and
target recipes. This commit changes target recipes to use relative path
which is same as the image directory.

[sgw: merged with libtool sysroot work]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-21 11:18:37 +00:00
Nitin A Kamble 95fc6ae164 gcc_4.5.1: add DSO linking change patch
This patch changes gcc's (ld's) linking behavior. It passes
--no-add-needed flag to ld. Because of it ld does not try to find
related libraries for linking, causing link failures. And these
link failures can be fixed by specifying the library to be linked
explicitely on the gcc command line.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:02 +00:00
Dexuan Cui 0df3c48130 libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o
Currently gcc-runtime installs the files, but actually gcc-runtime's
do_configure checks if the files are available, so before we build gcc-runtime,
we should have some recipe install the files first! -- currently
gcc-cross-intermediate actually does that(gcc-cross also installs the files,
but it installs into the gcc-build-internal* directory), but
gcc-cross-intermediate will have its own sysroot in future, after that,
gcc-runtime won't build. So let us add this new target recipe and move the
installation of the files from gcc-runtime into it.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-17 22:04:50 +00:00
Kevin Tian f13cb20ed1 gcc-4.5.1: make c++ include path relative to "--sysroot"
So far c++ include path is not relative to "--sysroot", which brings
trouble if we want to use the toolchain in a new environment where
the original build directory generating that toolchain is not
available. It's firstly exposed in multiple SDK sysroots support, and
then in the case when sstate packages are used, where c++ standard
headers are missing because gcc tries to search original build dir.

This patch makes c++ include path now relative to "--sysroot", and
then once "--sysroot" is assigned correctly in new environment, c++
include paths can be searched as expected.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-02 01:25:40 -08:00
Nitin A Kamble d476a237ef gcc_4.5.1: Move the license related information in the right file
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:18:20 +00:00
Lianhao Lu 2021e2a74f Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH.
Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH for
cross-canadian packages. This is due to the TARGET_ARCH of x86_64
would results incorrect packaging in cross-canadian packages.

The pacakge name appendix of x86_64 target in cross-canadian
packages is x86-64.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:48 +00:00
Lianhao Lu 322d6ab299 cross-canadian: pkg name includes target arch
This commit fixes Bug #528.

1. Added the target arch name to the pkg name of gcc-cross-canadian,
gdb-cross-candian and bintuils-cross-candian.

2. Move the cross-canadian pkgs out of task-sdk-host into a new task
task-cross-canadian.

3. Added the RDEPENDS of task-cross-canadian into meta-toolchain.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:30 +00:00
Saul Wold 3d08b9f2c6 SRC_URI Checksums Additionals
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-09 08:18:17 -08:00
Mei Lei 97f78fef28 gcc:Add license checksum and update the GPL information
Add COPYING COPYING3 COPYING.LIB COPYING3.LIB COPYING.RUNTIME files checksum to bb file and add the "GCC RUNTIME LIBRARY EXCEPTION"
 "GPLv3" "GPLv2" "LGPLv2" "LGPLv3" information according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:46 -08:00
Nitin A Kamble b1dd356f5e gcc: upgrade from 4.5.0 to 4.5.1
Removed these patches which are not needed anymore.
  gcc-4.5.0_to_svn_162697.patch.bz2 : All the commits in this patch is
          part of the 4.5.1 branch. So moving to 4.5.1 makes this patch
          obsolete
  gcc_revert_base_version_to_4.5.0.patch: moving to 4.5.1 removes need
          of this patch
  gcc-pr43698-arm-rev-instr.patch: upstream has this fix.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Richard Purdie fafb40364d gcc: Fix c++ search path for target system compiler making everything consistent
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 11:06:32 +01:00
Mark Hatle 23f522e7a5 gcc: Update poisoned include path checking
[BUGID #374]

The poison directory patch that was included with gcc-4.5.0 was not previously
enabled due to the lack of the configure file changes.

The patch has been updated to include the configure fragment.  It was also noted
that this patch preformed nearly the same functions as the
zecke-no-host-includes patch, but with slightly different directories.

The directories scanned were added from the zecke-no-host-includes patch to
the new gcc-poison-dir-extend.patch.

The other difference with the zecke patch is that poisoned headers is no longer
an immediate fatal error.  There may be instances where someone wants to do
this.

Adding -Werror=poison-system-directories to the CFLAGS would restore the
behavior.

Also fix a small problem where --help=warnings on gcc wouldn't return the
poison-system-directories as a valid option, even though it was.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 16:30:43 +01:00
Kevin Tian 2a066e7ca9 gcc: fix check for target libc ssp support
gcc uses hardcoded path "${with-build-sysroot}/usr/include" to check target
libc ssp support. Based on GLIBC version strings in features.h in that search
path, gcc knows whether target (e)glibc implements stack protector itself.

However this breaks meta-toolchain, which actually has target libc headers
installed under {with-build-sysroot}/opt/... This way features.h is not found
and thus gcc-crosssdk-intermediate thinks that target (e)glibc doesn't support ssp.

Later when building eglibc-nativesdk, undefined reference to "__stack_chk_guard"
occurs which was caused by:

  o eglibc do_configure found that gcc-crosssdk-intermediate supports ssp,
    and thus enable -fstack-protector for nscd

  o eglibc itself supports stack smash proctection for some architectures such
    as i386, x86-64, etc. It's expected to use its own method to provide stack
    protection, instead of relying on gcc. So eglibc rtld.os doesn't export
    __stack_chk_guard to other modules

  o then when installing nscd objects, gcc-crosssdk-intermediate sees the
    flag "-fstack-protector", while it thought this eglibc doesn't implement
    ssp itself, so gcc turns to the alternative to find a valid
    __stack_chk_guard exported. eglibc doesn'g export it, while
    gcc-crosssdk-intermediate itself disables libssp.

Then the undefined reference happens. If enabling libssp for gcc-crosssdk-
intermediate, it may also work-around this issue. But the ideal fix is still
to replace hard coded path with the actual one where target libc gets installed.

glibc-nativesdk doesn't encounter this issue because it thinks gcc doesn't
support ssp, and thus doesn't enable "-fstack-protector" for nscd. Don't know
the reason yet

This fix [BUGID #366]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-30 10:18:00 -07:00
Dongxiao Xu ce456306da gcc: enable poison parameters detection
If not configured with --enable-target-optspace, gcc will report
errors if there is '-Os' optimization in parameters.

This fixes [BUGID #342]

Also add "--enable-target-optspace" option to arm gcc configuration.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-27 08:59:15 -07:00
Dongxiao Xu 460954b1b3 upgrade gcc to 4.5.0 for mips architecture
Fix the out of memory when building webkit-gtk with gcc-4.5.0

The new feature added after 4.3.3
"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
will cause cc1plus eat up all the system memory when build webkit-gtk.
The function mips_get_pic_call_symbol keeps on recursively calling itself.
Disable this feature to walk aside the bug.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-22 09:52:41 -07:00
Dongxiao Xu 0ff070bbf1 gcc: upgrade gcc for powerpc to version 4.5.0
Fix one parameter order issue for base_contains function,
which impacts glibc build under new gcc.

Add new judge code to determine whether <altivec.h> is needed.
This fixes the mpeg2dec build failure under new gcc.

Use O2 as the optimization flag to tinylogin as it will meet
segfault if compiled by gcc-4.5.0 when enable both frename-registers
and Os options. Use O2 instead.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-17 11:41:58 -07:00
Nitin A Kamble cdbbc68d08 gcc_4.5.0: add --enable-poison-system-directories option to cross
recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-08 16:36:52 -07:00
Richard Purdie d17a09376d gcc-crosssdk-initial: Ensure native dependencies are built, these can differ accross different gcc versions causing build failures
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-06 22:55:49 +01:00
Richard Purdie 29d6678fd5 Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.

The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.

Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-27 15:29:45 +01:00