From e36739ab6c6d884a3a975a94ea30d78b2c9f60f7 Mon Sep 17 00:00:00 2001 From: ru Date: Mon, 30 Jun 2003 19:03:56 +0000 Subject: The use of ld(1) to strip compiler local and non-global symbols from object files has bitrotted over the last thirteen years, and it now does more harm than good. An attempt to work around the problems caused by using ld(1) for stripping was to pass LDFLAGS to the ld(1) command, but this was not right either as ${LDFLAGS} should, by design, be used with cc(1) and not ld(1). One of the proposed solutions was to use the objcopy(1) utility to do the strip work, and the other would be to use strip(1), but Bruce Evans suggested not stripping any symbols at all. This works by leaving the grunt work to the final strip(1) command (when installing the binary). Submitted by: bde --- share/mk/bsd.lib.mk | 36 ------------------------------------ 1 file changed, 36 deletions(-) (limited to 'share/mk/bsd.lib.mk') diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 83bdd46..92a58bb 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -56,97 +56,61 @@ PICFLAG=-fpic .c.o: ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .c.po: ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .c.So: ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .cc.o .C.o .cpp.o .cxx.o: ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .cc.po .C.po .cpp.po .cxx.po: ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .cc.So .C.So .cpp.So .cxx.So: ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .f.o: ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .f.po: ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .f.So: ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .m.o: ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .m.po: ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .m.So: ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .s.o .asm.o: ${CC} -x assembler-with-cpp ${CFLAGS} ${AINC} -c \ ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .s.po .asm.po: ${CC} -x assembler-with-cpp -DPROF ${CFLAGS} ${AINC} -c \ ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .s.So .asm.So: ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS} \ ${AINC} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .S.o: ${CC} ${CFLAGS} ${AINC} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .S.po: ${CC} -DPROF ${CFLAGS} ${AINC} -c ${.IMPSRC} -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} .S.So: ${CC} ${PICFLAG} -DPIC ${CFLAGS} ${AINC} -c ${.IMPSRC} \ -o ${.TARGET} - @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} all: objwarn -- cgit v1.1