All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC: enhance toolchain bootstrap process: v3: 0/7] enhance the toolchain bootstrap process
@ 2011-01-18 13:57 Dexuan Cui
  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
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Dexuan Cui @ 2011-01-18 13:57 UTC (permalink / raw)
  To: poky

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



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-01-25  0:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-18 13:57 [RFC: enhance toolchain bootstrap process: v3: 0/7] enhance the toolchain bootstrap process Dexuan Cui
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

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.