diff options
author | jdp <jdp@FreeBSD.org> | 1996-01-11 03:45:55 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1996-01-11 03:45:55 +0000 |
commit | d1b95a21ba50262abce9fc5b15224a418ea58c34 (patch) | |
tree | 72164745aae0a7fd3412f2ff61f535185cf69471 /gnu | |
parent | c8975f103d9378fd640ce21b5dea7f2205241ce1 (diff) | |
download | FreeBSD-src-d1b95a21ba50262abce9fc5b15224a418ea58c34.zip FreeBSD-src-d1b95a21ba50262abce9fc5b15224a418ea58c34.tar.gz |
Install ld.so in a way that is safe even on a running system.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/usr.bin/ld/rtld/Makefile | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/usr.bin/ld/rtld/Makefile b/gnu/usr.bin/ld/rtld/Makefile index 74e3c31..d2e6785 100644 --- a/gnu/usr.bin/ld/rtld/Makefile +++ b/gnu/usr.bin/ld/rtld/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.14 1995/03/04 17:46:23 nate Exp $ +# $Id: Makefile,v 1.15 1995/08/26 13:17:39 joerg Exp $ PROG= ld.so SRCS= mdprologue.S rtld.c malloc.c shlib.c etc.c md.c @@ -11,7 +11,6 @@ ASFLAGS+=-k DPADD+= ${LIBC:S/c.a/c_pic.a/} ${LIBC:S/c.a/gcc_pic.a/} LDADD+= -lc_pic -lgcc_pic BINDIR= /usr/libexec -INSTALLFLAGS+= -fschg MLINKS= rtld.1 ld.so.1 .PATH: $(LDDIR) $(LDDIR)/$(MACHINE) @@ -19,4 +18,16 @@ MLINKS= rtld.1 ld.so.1 $(PROG): ${OBJS} ${DPADD} $(LD) -o $(PROG) $(LDFLAGS) $(OBJS) $(LDADD) +realinstall: + ${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROG}.new + test -f ${DESTDIR}${BINDIR}/${PROG}.old && \ + chflags noschg ${DESTDIR}${BINDIR}/${PROG}.old || \ + : + chflags noschg ${DESTDIR}${BINDIR}/${PROG} + ln -f ${DESTDIR}${BINDIR}/${PROG} ${DESTDIR}${BINDIR}/${PROG}.old + mv ${DESTDIR}${BINDIR}/${PROG}.new ${DESTDIR}${BINDIR}/${PROG} + chflags schg ${DESTDIR}${BINDIR}/${PROG} + rm ${DESTDIR}${BINDIR}/${PROG}.old + .include <bsd.prog.mk> |