From: Dexuan Cui <dexuan.cui@intel.com>
To: poky@yoctoproject.org
Subject: [RFC: enhance toolchain bootstrap process: v3: 0/7] enhance the toolchain bootstrap process
Date: Tue, 18 Jan 2011 21:57:37 +0800 [thread overview]
Message-ID: <cover.1295359004.git.dexuan.cui@intel.com> (raw)
Hi Richard and all,
The patch set enhances the toolchain bootstrap process by installing a separate sysroot for each step of the process.
The purpose is to avoid file overwriting in the current global sysroot, namely, to fix Bug 239: http://bugzilla.pokylinux.org/show_bug.cgi?id=239
The basic idea is straightforward:
1) For gcc-cross-initial and -intermediate, by changing MULTIMACH_TARGET_SYS to install the files into new locations;
2) Fix the build of eglibc-initial, eglibc by using the appropriate compilers, libs, headers;
3) Also make proper changes for the crosssdk/nativesdk version.
I've split all the changes into small git commits and each commit should be basically self-explanatory. :-)
Please review the commits and comment. Thanks!
Test Results:
I've tested building poky-image-sdk on various qemu targets: the qemu target can boot fine.
I'm also testing building meta-toolchain-sdk -- not finished yet, but I think it should be fine because "bitbake gcc-runtime-nativesdk" and "bitbake gcc-cross-canadian-mips" can succeed.
I'll be doing more tests.
TODO:
1) changes to gcc-4.3.3 not completely finished (Should we still support gcc-4.3.3 since we have gcc-4.5.1?)
However I think I should be able to add the missing changes soon, supposing here 4.3.3 and 4.5.1 have no big difference.
2) do more tests against glibc rather than eglibc.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/tcbp-v3
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/tcbp-v3
Thanks,
Dexuan Cui <dexuan.cui@intel.com>
---
Dexuan Cui (7):
sstate.bbclass: allow each step of toolchain bootstrap processes to
do populate_sysroot independently
cross.bbclass: make MULTIMACH_TARGET_SYS adjustable for bindir,
libdir, libexecdir
gcc-cross-initial, gcc-crosssdk-initial: change CROSS_TARGET_SYS_DIR
and insall into new locations
eglibc-initial, eglibc-initial-nativesdk: install into individual
sysroots
gcc-cross-intermediate, gcc-crosssdk-intermediate: change
CROSS_TARGET_SYS_DIR and insall into new locations
cross.bbclass: modify sysroot_stage_all to allow
gcc-{cross,crossdk}-intermediate to populate the libgcc_s.so* files
eglibc, eglibc-nativesdk: fix the build due to changes to
eglibc-initial and gcc-cross-intermediate
meta/classes/cross.bbclass | 17 +++++---
meta/classes/sstate.bbclass | 24 ------------
meta/recipes-core/eglibc/eglibc-initial.inc | 10 +++++
meta/recipes-core/eglibc/eglibc.inc | 9 ++++
meta/recipes-core/eglibc/eglibc_2.12.bb | 8 +---
.../fix_CPPFLAGS_LDFLAGS_FOR_TARGET.patch | 40 ++++++++++++++++++++
meta/recipes-devtools/gcc/gcc-cross-initial.inc | 2 +
.../gcc/gcc-cross-initial_4.3.3.bb | 2 +-
.../gcc/gcc-cross-initial_4.5.1.bb | 2 +-
.../gcc/gcc-cross-intermediate.inc | 32 ++++++++++++++-
.../gcc/gcc-cross-intermediate_4.3.3.bb | 2 +-
.../gcc/gcc-cross-intermediate_4.5.1.bb | 2 +-
.../gcc/gcc-crosssdk-initial_4.3.3.bb | 2 +-
.../gcc/gcc-crosssdk-initial_4.5.1.bb | 2 +-
.../gcc/gcc-crosssdk-intermediate.inc | 3 +
.../gcc/gcc-crosssdk-intermediate_4.3.3.bb | 2 +-
.../gcc/gcc-crosssdk-intermediate_4.5.1.bb | 2 +-
17 files changed, 113 insertions(+), 48 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/fix_CPPFLAGS_LDFLAGS_FOR_TARGET.patch
--
1.7.2
next reply other threads:[~2011-01-18 13:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-18 13:57 Dexuan Cui [this message]
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 1/7] sstate.bbclass: allow each step of toolchain bootstrap processes to do populate_sysroot independently Dexuan Cui
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 2/7] cross.bbclass: make MULTIMACH_TARGET_SYS adjustable for bindir, libdir, libexecdir Dexuan Cui
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 3/7] gcc-cross-initial, gcc-crosssdk-initial: change CROSS_TARGET_SYS_DIR and insall into new locations Dexuan Cui
2011-01-18 14:58 ` Koen Kooi
2011-01-19 9:06 ` Cui, Dexuan
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 4/7] eglibc-initial, eglibc-initial-nativesdk: install into individual sysroots Dexuan Cui
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 5/7] gcc-cross-intermediate, gcc-crosssdk-intermediate: change CROSS_TARGET_SYS_DIR and insall into new locations Dexuan Cui
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 6/7] cross.bbclass: modify sysroot_stage_all to allow gcc-{cross, crossdk}-intermediate to populate the libgcc_s.so* files Dexuan Cui
2011-01-18 13:57 ` [RFC: enhance toolchain bootstrap process: v3: 7/7] eglibc, eglibc-nativesdk: fix the build due to changes to eglibc-initial and gcc-cross-intermediate Dexuan Cui
2011-01-18 16:20 ` Tian, Kevin
2011-01-24 16:04 ` [RFC: enhance toolchain bootstrap process: v3: 0/7] enhance the toolchain bootstrap process Richard Purdie
2011-01-24 17:28 ` Cui, Dexuan
2011-01-24 17:55 ` Cui, Dexuan
2011-01-24 19:17 ` Chris Larson
2011-01-25 0:53 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1295359004.git.dexuan.cui@intel.com \
--to=dexuan.cui@intel.com \
--cc=poky@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.