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 | |
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.
-rw-r--r-- | base-system-armv7b-highbank.morph | 8 | ||||
-rw-r--r-- | base-system-x86_64-generic.morph | 8 | ||||
-rw-r--r-- | bsp-armv7b-highbank.morph | 2 | ||||
-rw-r--r-- | bsp-x86_64-generic.morph | 2 | ||||
-rw-r--r-- | build-essential.morph | 36 | ||||
-rw-r--r-- | build-essential.morph.yaml | 22 | ||||
-rw-r--r-- | core.morph | 2 | ||||
-rw-r--r-- | foundation.morph | 2 |
8 files changed, 18 insertions, 64 deletions
diff --git a/base-system-armv7b-highbank.morph b/base-system-armv7b-highbank.morph index f575ef4e..3950126a 100644 --- a/base-system-armv7b-highbank.morph +++ b/base-system-armv7b-highbank.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "bsp-armv7b-highbank", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" } ] } diff --git a/base-system-x86_64-generic.morph b/base-system-x86_64-generic.morph index 3d5c45fa..4c1dd71a 100644 --- a/base-system-x86_64-generic.morph +++ b/base-system-x86_64-generic.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" }, { "morph": "bsp-x86_64-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/richardmaw/inspect-zlib" } ], "configuration-extensions": [ diff --git a/bsp-armv7b-highbank.morph b/bsp-armv7b-highbank.morph index f4231e97..91f61c5f 100644 --- a/bsp-armv7b-highbank.morph +++ b/bsp-armv7b-highbank.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/richardmaw/inspect-zlib", "morph": "core" } ], diff --git a/bsp-x86_64-generic.morph b/bsp-x86_64-generic.morph index b984a138..f83c81c8 100644 --- a/bsp-x86_64-generic.morph +++ b/bsp-x86_64-generic.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/richardmaw/inspect-zlib", "morph": "core" } ], diff --git a/build-essential.morph b/build-essential.morph index 3fa11a15..486ca220 100644 --- a/build-essential.morph +++ b/build-essential.morph @@ -45,41 +45,27 @@ ] }, { - "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", + "ref": "baserock/richardmaw/inspect-zlib", "build-mode": "bootstrap", "prefix": "/tools", "build-depends": [ "stage1-binutils", "stage1-gcc", - "stage2-eglibc", - "stage2-zlib" + "stage2-eglibc" ] }, { "name": "stage2-gcc", "repo": "upstream:gcc-tarball", - "ref": "baserock/build-essential", + "ref": "baserock/richardmaw/inspect-zlib", "build-mode": "bootstrap", "prefix": "/tools", "build-depends": [ "stage1-binutils", "stage1-gcc", - "stage2-eglibc", - "stage2-zlib" + "stage2-eglibc" ] }, { @@ -140,8 +126,7 @@ "stage2-gawk", "stage2-gcc", "stage2-linux-api-headers", - "stage2-make", - "stage2-zlib" + "stage2-make" ] }, { @@ -158,8 +143,7 @@ "stage2-gawk", "stage2-gcc", "stage2-linux-api-headers", - "stage2-make", - "stage2-zlib" + "stage2-make" ] }, { @@ -177,7 +161,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "linux-api-headers" ] }, @@ -196,7 +179,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc" ] }, @@ -215,7 +197,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc", "zlib" ] @@ -235,7 +216,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc" ] }, @@ -254,7 +234,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc" ] }, @@ -273,7 +252,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc", "zlib" ] @@ -293,7 +271,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc" ] }, @@ -312,7 +289,6 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "stage2-zlib", "eglibc", "zlib" ] 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 @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/richardmaw/inspect-zlib", "morph": "build-essential" } ], diff --git a/foundation.morph b/foundation.morph index 0e2a803b..68be203e 100644 --- a/foundation.morph +++ b/foundation.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/richardmaw/inspect-zlib", "morph": "core" } ], |