summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-27 16:48:12 (GMT)
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-27 16:48:12 (GMT)
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 789283e..a4007bd 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