From 43ae529a39e96602335e0282d9f294614f69d5e4 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Tue, 14 Apr 2015 16:25:10 +0000 Subject: 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 --- strata/build-essential/glibc.morph | 6 ------ 1 file changed, 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 -- cgit v1.2.1