aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf
diff options
context:
space:
mode:
authorJohn Polstra <jdp@FreeBSD.org>2000-07-08 03:27:54 +0000
committerJohn Polstra <jdp@FreeBSD.org>2000-07-08 03:27:54 +0000
commit517191eede15a4a185ac767f523556da2a1ea5d1 (patch)
tree8d7e0d8f95a3e4f2aee65a4c3ea80b888c3dfad2 /libexec/rtld-elf
parentcc3962a9cd3eb20d5abc0ca031118192b80e0632 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf')
-rw-r--r--libexec/rtld-elf/Makefile12
1 files changed, 12 insertions, 0 deletions
diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile
index db8955e4bf74a..e3750cc7dfdd7 100644
--- a/libexec/rtld-elf/Makefile
+++ b/libexec/rtld-elf/Makefile
@@ -42,3 +42,15 @@ dyn_hack.so:
.PATH: ${.CURDIR}/${MACHINE_ARCH}
.include <bsd.prog.mk>
+
+# Keep the previous version of the dynamic linker for recovery
+# purposes. This must come after the include of <bsd.prog.mk> so that
+# BINDIR is set for the exists(...) constructs.
+beforeinstall:
+.if exists(${DESTDIR}${BINDIR}/${PROG})
+ -chflags noschg ${DESTDIR}${BINDIR}/${PROG}
+.if exists(${DESTDIR}${BINDIR}/${PROG}.old)
+ -chflags noschg ${DESTDIR}${BINDIR}/${PROG}.old
+.endif
+ cp -p ${DESTDIR}${BINDIR}/${PROG} ${DESTDIR}${BINDIR}/${PROG}.old
+.endif