[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