ports/53317: New port Mpatrol, memory debugger / Update of PR ports/53082

Patrick MARIE mycroft at virgaria.org
Sat Jun 14 14:00:31 UTC 2003


>Number:         53317
>Category:       ports
>Synopsis:       New port Mpatrol, memory debugger / Update of PR ports/53082
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 14 07:00:27 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Patrick MARIE
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
epplug.org
>Environment:
System: FreeBSD saturnine.virgaria.org 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Wed Jun 11 14:23:27 CEST 2003 mycroft at saturnine.virgaria.org:/usr/obj/usr/src/sys/saturnine i386

>Description:
	Update of ports/53082 (which is now obsolete);
	Adding a libmptools;
	Fixed compilations flags.
	
>How-To-Repeat:
>Fix:
--- mpatrol.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mpatrol
#	mpatrol/distinfo
#	mpatrol/files
#	mpatrol/files/src-Makefile
#	mpatrol/files/tools-Makefile
#	mpatrol/files/patch-src::symbol.c
#	mpatrol/files/patch-tools::dbmalloc.c
#	mpatrol/files/root-Makefile
#	mpatrol/Makefile
#	mpatrol/pkg-descr
#	mpatrol/pkg-plist
#
echo c - mpatrol
mkdir -p mpatrol > /dev/null 2>&1
echo x - mpatrol/distinfo
sed 's/^X//' >mpatrol/distinfo << 'END-of-mpatrol/distinfo'
XMD5 (mpatrol_1.4.8.tar.gz) = ada423c49bc5bfa7c3e7a80a711c2a1a
END-of-mpatrol/distinfo
echo c - mpatrol/files
mkdir -p mpatrol/files > /dev/null 2>&1
echo x - mpatrol/files/src-Makefile
sed 's/^X//' >mpatrol/files/src-Makefile << 'END-of-mpatrol/files/src-Makefile'
X# Makefile by Patrick MARIE <mycroft at virgaria.org>
X
XLIBMPATROL_SRC=	list.c tree.c slots.c utils.c memory.c heap.c alloc.c \
X		info.c stack.c addr.c strtab.c symbol.c signals.c \
X		diag.c option.c leaktab.c profile.c trace.c inter.c \
X		malloc.c cplus.c version.c mutex.c
XLIBMPATROL_OBJ=	$(LIBMPATROL_SRC:.c=.o) machine.o
X
X# theses files are in ../tools/
XLIBMPTOOLS_SRC=		../tools/dbmalloc.c \
X			../tools/dmalloc.c \
X			../tools/heapdiff.c \
X			../tools/mgauge.c \
X			../tools/mtrace.c
XLIBMPTOOLS_OBJ=		$(LIBMPTOOLS_SRC:.c=.o)
X
XLIBMPALLOC_SRC=	mpalloc.c mpfailure.c mpsetfail.c mpmalloc.c \
X		mpcalloc.c mpstrdup.c mprealloc.c
XLIBMPALLOC_OBJ=	$(LIBMPALLOC_SRC:.c=.o)
X
XMPATROL_SRC=	mpatrol.c getopt.c version.c
XMPATROL_OBJ=	$(MPATROL_SRC:.c=.o)
XMPROF_SRC=	mprof.c graph.c getopt.c list.c tree.c version.c
XMPROF_OBJ=	$(MPROF_SRC:.c=.o)
XMPTRACE_SRC=	mptrace.c getopt.c tree.c slots.c utils.c version.c
XMPTRACE_OBJ=	$(MPTRACE_SRC:.c=.o)
XMLEAK_SRC=	mleak.c getopt.c tree.c version.c
XMLEAK_OBJ=	$(MLEAK_SRC:.c=.o)
X
XINST_HEADERS=	mpatrol.h mpalloc.h mpdebug.h
X
XPREFIX?=	/usr/local
XCFLAGS+=	-O3 -g -fno-inline-functions
XCFLAGS+=	-DMP_THREADS_SUPPORT -DMP_USE_ATEXIT
XCFLAGS+=	-I$(PREFIX)/include -I$(PREFIX)/include/libelf -I. -I../src 
XLFLAGS+=	-L. -lmpatrol -L$(PREFIX)/lib -lelf -lintl
XAFLAGS+=	-fPIC
X
XRM?=		rm -f
XCP?=		cp -f
X
Xall: libmptools.so libmpatrol.so libmpalloc.so mpatrol mprof mleak mptrace
X
X$(LIBMPTOOLS_OBJ):
X	@(cd ../tools; make -DPREFIX="$(PREFIX)" CFLAGS="$(CFLAGS)")
X
Xlibmpatrol.so: $(LIBMPATROL_OBJ) machine.o
X	ld -shared -o libmpatrol.so $(LIBMPATROL_OBJ)
X	ar r libmpatrol.a $(LIBMPATROL_OBJ)
X
Xlibmpalloc.so: $(LIBMPALLOC_OBJ)
X	ld -shared -o libmpalloc.so $(LIBMPALLOC_OBJ)
X	ar r libmpalloc.a $(LIBMPALLOC_OBJ) 
X
Xlibmptools.so: $(LIBMPTOOLS_OBJ)
X	ld -shared -o libmptools.so $(LIBMPTOOLS_OBJ)
X	ar r libmptools.a $(LIBMPTOOLS_OBJ) 
X
Xmleak: $(MLEAK_OBJ)
X	$(CC) $(LFLAGS) $(CFLAGS) $(MLEAK_OBJ) -o mleak
X
Xmptrace: $(MPTRACE_OBJ) 
X	$(CC) $(LFLAGS) $(CFLAGS) $(MPTRACE_OBJ) -o mptrace
X
Xmprof: $(MPROF_OBJ)
X	$(CC) $(LFLAGS) $(CFLAGS) $(MPROF_OBJ) -o mprof
X
Xmpatrol: $(MPATROL_OBJ)
X	$(CC) $(LFLAGS) $(CFLAGS) $(MPATROL_OBJ) -o mpatrol 
X
X# machine.s specific:
Xmachine.o: machine.c
X	$(CC) $(CFLAGS) -E -P machine.c >machine.s
X	$(CC) $(CFLAGS) $(AFLAGS) -c machine.s -o machine.o
X
Xclean:
X	$(RM) machine.s machine.o \
X	libmpatrol.so libmpalloc.so libmpalloc.a libmpatrol.so \
X	mprof mpatrol \
X	.extdone \
X	machine.s machine.o \
X	$(LIBMPATROL_OBJ) $(LIBMPALLOC_OBJ) \
X	$(MPATROL_OBJ) $(MLEAK_OBJ) $(MPTRACE_OBJ) $(MPROF_OBJ) \
X	$(LIBMPTOOLS_OBJ)
END-of-mpatrol/files/src-Makefile
echo x - mpatrol/files/tools-Makefile
sed 's/^X//' >mpatrol/files/tools-Makefile << 'END-of-mpatrol/files/tools-Makefile'
X# Makefile by Patrick MARIE <mycroft at virgaria.org>
X
XLIBMPATROL_EXT_SRC=	dbmalloc.c dmalloc.c heapdiff.c mgauge.c mtrace.c
XLIBMPATROL_EXT_OBJ=	$(LIBMPATROL_EXT_SRC:.c=.o)
X
Xall: $(LIBMPATROL_EXT_OBJ)
END-of-mpatrol/files/tools-Makefile
echo x - mpatrol/files/patch-src::symbol.c
sed 's/^X//' >mpatrol/files/patch-src::symbol.c << 'END-of-mpatrol/files/patch-src::symbol.c'
X--- src/symbol.c.orig	Tue Jan  8 21:13:59 2002
X+++ src/symbol.c	Sun Jun  8 17:09:52 2003
X@@ -113,7 +113,7 @@
X  * symbols from the object files and libraries.  However, we still need the ELF
X  * definitions for reading the internal structures of the dynamic linker.
X  */
X-#include <elf.h>
X+/* #include <elf.h> */
X #elif DYNLINK == DYNLINK_WINDOWS
X /* We use the imagehlp library on Windows platforms to obtain information about
X  * the symbols loaded from third-party and system DLLs.  We can also use it to
END-of-mpatrol/files/patch-src::symbol.c
echo x - mpatrol/files/patch-tools::dbmalloc.c
sed 's/^X//' >mpatrol/files/patch-tools::dbmalloc.c << 'END-of-mpatrol/files/patch-tools::dbmalloc.c'
X--- tools/dbmalloc.c.orig	Tue Jan  8 21:05:10 2002
X+++ tools/dbmalloc.c	Sun Jun  8 19:24:48 2003
X@@ -27,13 +27,14 @@
X 
X 
X #include "config.h"
X-#include "dbmalloc.h"
X #include <stdio.h>
X #if TARGET == TARGET_WINDOWS
X #include <io.h>
X #else /* TARGET */
X #include <unistd.h>
X #endif /* TARGET */
X+
X+#include "dbmalloc.h"
X 
X 
X #if MP_IDENT_SUPPORT
END-of-mpatrol/files/patch-tools::dbmalloc.c
echo x - mpatrol/files/root-Makefile
sed 's/^X//' >mpatrol/files/root-Makefile << 'END-of-mpatrol/files/root-Makefile'
X
Xall:
X	@(cd src; ${MAKE})
X
Xinstall:
X	@(cd src; ${MAKE} install)
END-of-mpatrol/files/root-Makefile
echo x - mpatrol/Makefile
sed 's/^X//' >mpatrol/Makefile << 'END-of-mpatrol/Makefile'
X# New ports collection makefile for:	mpatrol
X# Date created:		8 jui 2003
X# Whom:			Patrick MARIE <mycroft at virgaria.org>
X# $FreeBSD$
X#
X
XPORTNAME=	mpatrol
XPORTVERSION=	1.4.8
XCATEGORIES=	devel
XMASTER_SITES=	http://www.cbmamiga.demon.co.uk/mpatrol/files/
XDISTNAME=	${PORTNAME}_${PORTVERSION}
X
XMAINTAINER=	mycroft at virgaria.org
XCOMMENT=	Mpatrol, memory debugger
X
XLIB_DEPENDS=	elf.0:${PORTSDIR}/devel/libelf
X
XONLY_FOR_ARCHS=	i386
XINSTALLS_SHLIB=	yes
X
X#WRKDIR?=	${WRKDIRPREFIX}${.CURDIR}/work
XWRKSRC=		${WRKDIR}/${PORTNAME}
X
XMAN1=		hexwords.1 mleak.1 mpatrol.1 mprof.1 \
X		mpsym.1 mptrace.1 mpedit.1
XMAN3=		libmpatrol.3 libmpalloc.3
X
Xpost-patch:
X	${CP} ${FILESDIR}/root-Makefile ${WRKSRC}/Makefile
X	${CP} ${FILESDIR}/src-Makefile ${WRKSRC}/src/Makefile
X	${CP} ${FILESDIR}/tools-Makefile ${WRKSRC}/tools/Makefile
X
Xdo-install:
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/hexwords ${PREFIX}/bin
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/mpedit ${PREFIX}/bin
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/mpsym ${PREFIX}/bin
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/mupdate ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/src/mpatrol ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/src/mleak ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/src/mptrace ${PREFIX}/bin
X	${INSTALL_PROGRAM} ${WRKSRC}/src/mprof ${PREFIX}/bin
X	${INSTALL_MAN} ${WRKSRC}/man/man1/hexwords.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mleak.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mpatrol.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mpedit.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mprof.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mpsym.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man1/mptrace.1 ${PREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/man/man3/libmpatrol.3 ${PREFIX}/man/man3
X	${INSTALL_MAN} ${WRKSRC}/man/man3/libmpalloc.3 ${PREFIX}/man/man3
X	${INSTALL_DATA} ${WRKSRC}/src/libmpalloc.a ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/libmpalloc.so ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/libmpatrol.a ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/libmpatrol.so ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/libmptools.a ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/libmptools.so ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/src/mpatrol.h ${PREFIX}/include
X	${INSTALL_DATA} ${WRKSRC}/src/mpalloc.h ${PREFIX}/include
X	${INSTALL_DATA} ${WRKSRC}/src/mpdebug.h ${PREFIX}/include
X
XDOCS=	README mpatrol.dvi mpatrol.guide mpatrol.html mpatrol.info \
X	mpatrol.pdf mpatrol.ps mpatrol.texi mpatrol.txt refcard.dvi \
X	refcard.pdf refcard.ps refcard.tex source.tex \
X	texinfo.tex
XDOCSIMG=	cc1.eps cc1.jpg cc1.pdf \
X		collect2.eps collect2.jpg collect2.pdf \
X		cpp.eps cpp.jpg cpp.pdf \
X		gcc.eps gcc.jpg gcc.pdf \
X		mpatrol.eps mpatrol.jpg mpatrol.pdf mpatrol.txt \
X		test.eps test.jpg test.pdf \
X		trace.eps trace.jpg trace.pdf
X
X.if !defined(NOPORTDOCS)
Xpost-install:
X	@${MKDIR} ${DOCSDIR}
X.for file in ${DOCS}
X	${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
X.endfor
X	@${MKDIR} ${DOCSDIR}/images
X.for file in ${DOCSIMG}
X	${INSTALL_DATA} ${WRKSRC}/doc/images/${file} ${DOCSDIR}/images/
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-mpatrol/Makefile
echo x - mpatrol/pkg-descr
sed 's/^X//' >mpatrol/pkg-descr << 'END-of-mpatrol/pkg-descr'
XThe mpatrol library is a powerful debugging tool that attempts to diagnose
Xrun-time errors that are caused by the wrong use of dynamically allocated
Xmemory. It acts as a malloc() debugger for debugging dynamic memory
Xallocations, although it can also trace and profile calls to malloc() and
Xfree() too.
X
XWWW: http://www.cbmamiga.demon.co.uk/mpatrol/
END-of-mpatrol/pkg-descr
echo x - mpatrol/pkg-plist
sed 's/^X//' >mpatrol/pkg-plist << 'END-of-mpatrol/pkg-plist'
X at comment $FreeBSD$
Xinclude/mpatrol.h
Xinclude/mpalloc.h
Xinclude/mpdebug.h
Xbin/hexwords
Xbin/mpedit
Xbin/mupdate
Xbin/mpatrol
Xbin/mleak
Xbin/mptrace
Xbin/mprof
Xlib/libmpalloc.a
Xlib/libmpalloc.so
Xlib/libmpatrol.a
Xlib/libmpatrol.so
Xlib/libmptools.a
Xlib/libmptools.so
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.dvi
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.guide
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.html
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.info
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.pdf
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.ps
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.texi
X%%PORTDOCS%%%%DOCSDIR%%/mpatrol.txt
X%%PORTDOCS%%%%DOCSDIR%%/refcard.dvi
X%%PORTDOCS%%%%DOCSDIR%%/refcard.pdf
X%%PORTDOCS%%%%DOCSDIR%%/refcard.ps
X%%PORTDOCS%%%%DOCSDIR%%/refcard.tex
X%%PORTDOCS%%%%DOCSDIR%%/source.tex
X%%PORTDOCS%%%%DOCSDIR%%/texinfo.tex
X%%PORTDOCS%%%%DOCSDIR%%/images/cc1.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/cc1.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/cc1.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/collect2.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/collect2.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/collect2.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/cpp.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/cpp.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/cpp.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/gcc.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/gcc.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/gcc.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/mpatrol.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/mpatrol.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/mpatrol.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/mpatrol.txt
X%%PORTDOCS%%%%DOCSDIR%%/images/test.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/test.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/test.pdf
X%%PORTDOCS%%%%DOCSDIR%%/images/trace.eps
X%%PORTDOCS%%%%DOCSDIR%%/images/trace.jpg
X%%PORTDOCS%%%%DOCSDIR%%/images/trace.pdf
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/images
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-mpatrol/pkg-plist
exit
--- mpatrol.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list