Install ld.so in a way that is safe even on a running system.

This commit is contained in:
John Polstra 1996-01-11 03:45:55 +00:00
parent ae6fa8ae08
commit b25d7c2bbc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13382
2 changed files with 26 additions and 4 deletions

View File

@ -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>

View File

@ -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>