summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-04-14 16:25:10 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-04-14 16:25:10 +0000
commit43ae529a39e96602335e0282d9f294614f69d5e4 (patch)
tree4222dd7ea3b71394e0970e9be9d7fffceeb5aafc
parent501218d6271d09adfd09b6cb2dc0a7d9a85c2097 (diff)
downloaddefinitions-43ae529a39e96602335e0282d9f294614f69d5e4.tar.gz
Revert "Add a compatibility symlink for /lib/ld-linux.so.3 on ARMv7 hard-float"
This reverts commit a51a8ee9fe2c691a4b2d73fe06c1fde1d18f1153. This symlink was a bad idea. We found that if the stage1-gcc chunk is built on an ARM system with EGLIBC 2.15, then run on a system with GLIBC 2.20, the GCC binaries segfault on startup, inside the _dl_addr() function. This is likely the result of an ABI compatibility between EGLIBC 2.15 and GLIBC 2.20. Morph still has a big hole in its caching algorithm whereby 'bootstrap' mode chunks built against incompatible libc versions get the same cache-key, and cause random breakages. We either need to fix this, or ensure that the reference bootstrap is entirely statically linked, as soon as possible. Change-Id: I400d293dc8022ca6ab5a0ebda62ce378e9bf3317
-rw-r--r--strata/build-essential/glibc.morph6
1 files changed, 0 insertions, 6 deletions
diff --git a/strata/build-essential/glibc.morph b/strata/build-essential/glibc.morph
index 5e5614e7..ecd7c7c4 100644
--- a/strata/build-essential/glibc.morph
+++ b/strata/build-essential/glibc.morph
@@ -92,9 +92,3 @@ install-commands:
include /etc/ld.so.conf.d/*.conf
EOF
- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.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