[poky] [RFC: enhance toolchain bootstrap process: v3: 0/7] enhance the toolchain bootstrap process
Dexuan Cui
dexuan.cui at intel.com
Tue Jan 18 05:57:37 PST 2011
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 at 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
More information about the poky
mailing list