From dba3e8e975b88aa7d118fe1b423e50360a6c7394 Mon Sep 17 00:00:00 2001 From: zrj Date: Sun, 2 Jul 2017 17:12:41 +0300 Subject: [PATCH] lib/libexecinfo: Fix static and profiled archives. Previously archives were embedded within archives. Reported-by: tuxillo --- lib/libelf/Makefile | 2 +- lib/libexecinfo/Makefile | 46 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/lib/libelf/Makefile b/lib/libelf/Makefile index f5af9d755a..312d154d71 100644 --- a/lib/libelf/Makefile +++ b/lib/libelf/Makefile @@ -4,8 +4,8 @@ LIB= elf INTERNALLIB= yes +INTERNALLIBPROF= yes INSTALL_PIC_ARCHIVE= yes -NOPROFILE= yes TOOLCHAINDIR= ${.CURDIR}/../../contrib/elftoolchain SRCDIR= ${TOOLCHAINDIR}/libelf COMMON= ${TOOLCHAINDIR}/common diff --git a/lib/libexecinfo/Makefile b/lib/libexecinfo/Makefile index a55328d690..53f88e0c46 100644 --- a/lib/libexecinfo/Makefile +++ b/lib/libexecinfo/Makefile @@ -12,11 +12,51 @@ MLINKS+= backtrace.3 backtrace_symbols_fmt.3 MLINKS+= backtrace.3 backtrace_symbols_fd.3 MLINKS+= backtrace.3 backtrace_symbols_fd_fmt.3 -DPADD= ${.OBJDIR}/../libelf/libelf_pic.a -LDADD= -L${.OBJDIR}/../libelf -lelf_pic -ARADD= ${.OBJDIR}/../libelf/libelf.a +CONLIBS= ${.OBJDIR}/../libelf/libelf.a +DPADD= ${CONLIBS:.a=_pic.a} +LDADD= ${CONLIBS:.a=_pic.a} +ARADD= ${CONLIBS} TOOLCHAINDIR= ${.CURDIR}/../../contrib/elftoolchain CFLAGS+= -I${TOOLCHAINDIR}/libelf -I${TOOLCHAINDIR}/common +# Override bsd.lib.mk scripts +lib${LIB}.a: ${SRCS:.c=.o} script.ar + @${ECHO} building static ${LIB} library via script + rm -f ${.TARGET} + ${AR} -M < script.ar + ${RANLIB} ${.TARGET} + +lib${LIB}_p.a: ${SRCS:.c=.po} script_p.ar + @${ECHO} building profiled ${LIB} library via script + rm -f ${.TARGET} + ${AR} -M < script_p.ar + ${RANLIB} ${.TARGET} + +script.ar: + @echo "CREATE lib${LIB}.a" > ${.TARGET} +.for arc in ${CONLIBS} + @echo "ADDLIB ${arc}" >> ${.TARGET} +.endfor +.for obj in ${SRCS:.c=.o} + @echo "ADDMOD ${obj}" >> ${.TARGET} +.endfor + @echo "SAVE" >> ${.TARGET} + @echo "END" >> ${.TARGET} + +script_p.ar: + @echo "CREATE lib${LIB}_p.a" > ${.TARGET} +.for arc in ${CONLIBS:.a=_p.a} + @echo "ADDLIB ${arc}" >> ${.TARGET} +.endfor +.for obj in ${SRCS:.c=.po} + @echo "ADDMOD ${obj}" >> ${.TARGET} +.endfor + @echo "SAVE" >> ${.TARGET} + @echo "END" >> ${.TARGET} + +GENFILES= script.ar script_p.ar +CLEANFILES= ${GENFILES} +beforedepend: ${GENFILES} + .include -- 2.11.4.GIT