diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2013-05-23 17:59:42 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2013-05-24 15:06:20 +0000 |
commit | 91ca38499c0c84dd8e8beae31144c63f2820b082 (patch) | |
tree | 7865dbdd864f5cd6edad2019388753d65e675d63 /build-essential.morph.yaml | |
parent | 5260be4442f3ae758732bdf388b16c1602647f52 (diff) | |
download | definitions-91ca38499c0c84dd8e8beae31144c63f2820b082.tar.gz |
build-essential: remove stage2-zlib
The stage 1 toolchain is built with --disable-shared, which means
it is unable to build shared libraries.
This causes it to include symbols from libgcc in the zlib shared object.
This causes problems in pass 3, since by then we have a toolchain
that is suitable for building shared objects, so it doesn't include
libgcc symbols in zlib.
This causes problems while building gcc, since cc1 is compiled against
the zlib in /tools, but is run with the zlib in /usr, so it fails
to run due to missing symbols, which would otherwise come from
libgcc_s or be copiled in as part of libgcc.a.
stage 2 zlib was originally added to avoid gcc and binutils needing
to use their embedded copy, which would improve compile speed slightly
and the other reasons to prefer shared objects.
However, the bootstrap is fragile enough without it, it may be the case
that gcc and binutils prefer to embed zlib for precisely these reasons.
Diffstat (limited to 'build-essential.morph.yaml')
-rw-r--r-- | build-essential.morph.yaml | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/build-essential.morph.yaml b/build-essential.morph.yaml index f2bd1acf..7c7fb5ae 100644 --- a/build-essential.morph.yaml +++ b/build-essential.morph.yaml @@ -52,16 +52,6 @@ chunks: - stage1-gcc - stage2-linux-api-headers - - name: stage2-zlib - repo: upstream:zlib - ref: baserock/build-essential - build-mode: bootstrap - prefix: /tools - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - - name: stage2-binutils repo: upstream:binutils-redhat ref: baserock/build-essential @@ -71,7 +61,6 @@ chunks: - stage1-binutils - stage1-gcc - stage2-eglibc - - stage2-zlib - name: stage2-gcc repo: upstream:gcc-tarball @@ -82,7 +71,6 @@ chunks: - stage1-binutils - stage1-gcc - stage2-eglibc - - stage2-zlib - name: stage2-busybox repo: upstream:busybox @@ -151,7 +139,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - name: linux-api-headers repo: upstream:linux @@ -167,7 +154,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - name: eglibc repo: upstream:eglibc2 @@ -183,7 +169,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - linux-api-headers - name: zlib @@ -200,7 +185,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - name: binutils @@ -217,7 +201,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - zlib @@ -235,7 +218,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - name: gawk @@ -252,7 +234,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - name: gcc @@ -269,7 +250,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - zlib @@ -287,7 +267,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc # Extras that need to be in build-essential but don't need bootstrapping. @@ -306,6 +285,5 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make - - stage2-zlib - eglibc - zlib |