summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-27 16:48:12 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-27 16:48:12 +0000
commita51a8ee9fe2c691a4b2d73fe06c1fde1d18f1153 (patch)
tree3c0ce0a51d902defa3f859c139912bba403d5abd
parent0af72d076f2c20a724436581622cdf2d7e6d9bda (diff)
downloaddefinitions-a51a8ee9fe2c691a4b2d73fe06c1fde1d18f1153.tar.gz
Add a compatibility symlink for /lib/ld-linux.so.3 on ARMv7 hard-float
Morph's cache key algorithm doesn't yet take into account the fact that bootstrap chunks use files from the host system. While we are careful in the Baserock reference system definitions to minimise the number of components from the host system that it uses, the GNU C Library is pretty much unavoidable. Until we make the cache key algorithm more comprehensive, we need to ensure that the bootstrap-mode chunks from build-essential will indeed run on all versions of Baserock 'build' and 'devel' reference systems. Otherwise cached artifacts built on one system will randomly break for other people using different systems. This commit fixes one such breakage, which was due to the name of the GLIBC dynamic loader (ld.so) changing on ARMv7 hard-float platforms.
-rw-r--r--strata/build-essential/glibc.morph6
1 files changed, 6 insertions, 0 deletions
diff --git a/strata/build-essential/glibc.morph b/strata/build-essential/glibc.morph
index 789283eb..a4007bd4 100644
--- a/strata/build-essential/glibc.morph
+++ b/strata/build-essential/glibc.morph
@@ -84,3 +84,9 @@ install-commands:
netgroup: nis
EOF
- install -m 644 -o root -g root nsswitch.conf "$DESTDIR/etc/nsswitch.conf"
+# Compatibility symlink to work around the ABI break GLIBC introduced for
+# ARMv7 hard-float platforms in commit d3b36017d43.
+- case "$MORPH_ARCH" in
+ armv7*hf*)
+ ln -s ld-2.20.so "$DESTDIR/lib/ld-linux.so.3" ;;
+ esac