aboutsummaryrefslogtreecommitdiff
path: root/sysutils/memdump
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-02-20 17:03:31 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-02-20 17:03:31 +0000
commitc5b430c1dec5fbea7bc326a9391c6738e866fc64 (patch)
tree94f3504df53fdaf8b9904cd62d5b0a347d965ee3 /sysutils/memdump
parent43647493b265ca74912cac284042d28cf1bd49d1 (diff)
downloadports-c5b430c1dec5fbea7bc326a9391c6738e866fc64.tar.gz
ports-c5b430c1dec5fbea7bc326a9391c6738e866fc64.zip
Notes
Diffstat (limited to 'sysutils/memdump')
-rw-r--r--sysutils/memdump/Makefile4
-rw-r--r--sysutils/memdump/files/patch-convert_size.c59
-rw-r--r--sysutils/memdump/files/patch-convert_size.h46
-rw-r--r--sysutils/memdump/files/patch-error.c117
-rw-r--r--sysutils/memdump/files/patch-error.h48
-rw-r--r--sysutils/memdump/files/patch-makedefs13
-rw-r--r--sysutils/memdump/files/patch-memdump.c214
-rw-r--r--sysutils/memdump/files/patch-mymalloc.c91
-rw-r--r--sysutils/memdump/files/patch-mymalloc.h48
-rw-r--r--sysutils/memdump/pkg-descr2
10 files changed, 637 insertions, 5 deletions
diff --git a/sysutils/memdump/Makefile b/sysutils/memdump/Makefile
index c61eee6a15c3..8801c8b3e403 100644
--- a/sysutils/memdump/Makefile
+++ b/sysutils/memdump/Makefile
@@ -15,10 +15,6 @@ COMMENT= Forensic utility for memory-dumping
.include <bsd.port.pre.mk>
-.if ( ${OSVERSION} >= 500000 )
-IGNORE= Only supports FreeBSD up to 4.x (yet?)
-.endif
-
ALL_TARGET= what
PLIST_FILES= bin/memdump
diff --git a/sysutils/memdump/files/patch-convert_size.c b/sysutils/memdump/files/patch-convert_size.c
new file mode 100644
index 000000000000..d44c1681c96f
--- /dev/null
+++ b/sysutils/memdump/files/patch-convert_size.c
@@ -0,0 +1,59 @@
+--- convert_size.c.orig Sun Feb 20 15:53:46 2005
++++ convert_size.c Sun Feb 20 15:54:02 2005
+@@ -1,30 +1,30 @@
+ /*++
+-/* NAME
+-/* convert_size 3
+-/* SUMMARY
+-/* string to size conversion
+-/* SYNOPSIS
+-/* #include <convert_size.h>
+-/*
+-/* size_t convert_size(str)
+-/* const char *str;
+-/* DESCRIPTION
+-/* convert_size() converts its argument to internal form. if the
+-/* argument ends in 'k', 'm' or 'g' the result is multiplied by
+-/* 1024 (1K), 1048576 (1M), 1073741824 (1G), respectively.
+-/* The suffix is case insensitive.
+-/* SEE ALSO
+-/* error(3) error reporting module.
+-/* DIAGNOSTICS
+-/* The result is negative in case of error.
+-/* LICENSE
+-/* This software is distributed under the IBM Public License.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * NAME
++ * convert_size 3
++ * SUMMARY
++ * string to size conversion
++ * SYNOPSIS
++ * #include <convert_size.h>
++ *
++ * size_t convert_size(str)
++ * const char *str;
++ * DESCRIPTION
++ * convert_size() converts its argument to internal form. if the
++ * argument ends in 'k', 'm' or 'g' the result is multiplied by
++ * 1024 (1K), 1048576 (1M), 1073741824 (1G), respectively.
++ * The suffix is case insensitive.
++ * SEE ALSO
++ * error(3) error reporting module.
++ * DIAGNOSTICS
++ * The result is negative in case of error.
++ * LICENSE
++ * This software is distributed under the IBM Public License.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
+
+ /* System library. */
+
diff --git a/sysutils/memdump/files/patch-convert_size.h b/sysutils/memdump/files/patch-convert_size.h
new file mode 100644
index 000000000000..4b24c050896e
--- /dev/null
+++ b/sysutils/memdump/files/patch-convert_size.h
@@ -0,0 +1,46 @@
+--- convert_size.h.orig Sun Feb 20 15:54:28 2005
++++ convert_size.h Sun Feb 20 15:54:46 2005
+@@ -1,25 +1,25 @@
+ /*++
+-/* NAME
+-/* convert_size 3h
+-/* SUMMARY
+-/* string to size conversion
+-/* SYNOPSIS
+-/* #include <convert_size.h>
+-/* DESCRIPTION
+-/* .nf
++ * NAME
++ * convert_size 3h
++ * SUMMARY
++ * string to size conversion
++ * SYNOPSIS
++ * #include <convert_size.h>
++ * DESCRIPTION
++ * .nf
+
+- /*
++ *
+ * External interface.
+ */
+ extern size_t convert_size(const char *);
+
+ /* LICENSE
+-/* .ad
+-/* .fi
+-/* The IBM Public License must be distributed with this software.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * .ad
++ * .fi
++ * The IBM Public License must be distributed with this software.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
diff --git a/sysutils/memdump/files/patch-error.c b/sysutils/memdump/files/patch-error.c
new file mode 100644
index 000000000000..d004a82d4c3e
--- /dev/null
+++ b/sysutils/memdump/files/patch-error.c
@@ -0,0 +1,117 @@
+--- error.c.orig Sun Feb 20 15:52:40 2005
++++ error.c Sun Feb 20 15:53:14 2005
+@@ -1,59 +1,59 @@
+ /*++
+-/* NAME
+-/* error 3
+-/* SUMMARY
+-/* diagnostics handlers
+-/* SYNOPSIS
+-/* #include <error.h>
+-/*
+-/* void error(format, ...)
+-/* char *format;
+-/*
+-/* void remark(format, ...)
+-/* char *format;
+-/*
+-/* void panic(format, ...)
+-/* char *format;
+-/*
+-/* char *progname;
+-/* int verbose;
+-/* DESCRIPTION
+-/* This module reports diagnostics. Each routine produces a one-line
+-/* record with the program name and a caller-provided informative
+-/* message. In the format string, %m is replaced by the text that
+-/* corresponds to the present \fBerrno\fR value.
+-/*
+-/* error() writes a message to the standard error stream and
+-/* terminates the process with a non-zero exit status.
+-/*
+-/* remark() writes a message to the standard error stream.
+-/*
+-/* panic() writes a message to the standard error stream and
+-/* forces a core dump.
+-/*
+-/* progname is a global variable that the application should
+-/* assign the program name. The initial value is a pointer to
+-/* the string \fB"unknown"\fR.
+-/*
+-/* verbose is a global variable (initially, zero), that exists
+-/* solely for the convenience of the application. Typical usage
+-/* is like:
+-/*
+-/* .ti +5
+-/* if (verbose) remark(...);
+-/* SEE ALSO
+-/* errno(2) error numbers
+-/* HISTORY
+-/* error() and remark() appear in "Software Tools" by B.W. Kernighan
+-/* and P.J. Plaugher.
+-/* LICENSE
+-/* This software is distributed under the IBM Public License.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * NAME
++ * error 3
++ * SUMMARY
++ * diagnostics handlers
++ * SYNOPSIS
++ * #include <error.h>
++ *
++ * void error(format, ...)
++ * char *format;
++ *
++ * void remark(format, ...)
++ * char *format;
++ *
++ * void panic(format, ...)
++ * char *format;
++ *
++ * char *progname;
++ * int verbose;
++ * DESCRIPTION
++ * This module reports diagnostics. Each routine produces a one-line
++ * record with the program name and a caller-provided informative
++ * message. In the format string, %m is replaced by the text that
++ * corresponds to the present \fBerrno\fR value.
++ *
++ * error() writes a message to the standard error stream and
++ * terminates the process with a non-zero exit status.
++ *
++ * remark() writes a message to the standard error stream.
++ *
++ * panic() writes a message to the standard error stream and
++ * forces a core dump.
++ *
++ * progname is a global variable that the application should
++ * assign the program name. The initial value is a pointer to
++ * the string \fB"unknown"\fR.
++ *
++ * verbose is a global variable (initially, zero), that exists
++ * solely for the convenience of the application. Typical usage
++ * is like:
++ *
++ * .ti +5
++ * if (verbose) remark(...);
++ * SEE ALSO
++ * errno(2) error numbers
++ * HISTORY
++ * error() and remark() appear in "Software Tools" by B.W. Kernighan
++ * and P.J. Plaugher.
++ * LICENSE
++ * This software is distributed under the IBM Public License.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
+
+ /* System library. */
+
diff --git a/sysutils/memdump/files/patch-error.h b/sysutils/memdump/files/patch-error.h
new file mode 100644
index 000000000000..d6d6670f3c3d
--- /dev/null
+++ b/sysutils/memdump/files/patch-error.h
@@ -0,0 +1,48 @@
+--- error.h.orig Sun Feb 20 15:50:37 2005
++++ error.h Sun Feb 20 15:50:53 2005
+@@ -1,14 +1,14 @@
+ /*++
+-/* NAME
+-/* error 3h
+-/* SUMMARY
+-/* diagnostics handlers
+-/* SYNOPSIS
+-/* #include <error.h>
+-/* DESCRIPTION
+-/* .nf
++ * NAME
++ * error 3h
++ * SUMMARY
++ * diagnostics handlers
++ * SYNOPSIS
++ * #include <error.h>
++ * DESCRIPTION
++ * .nf
+
+- /*
++ *
+ * External interface.
+ */
+ #ifndef PRINTFLIKE
+@@ -31,12 +31,12 @@
+ #endif
+
+ /* LICENSE
+-/* .ad
+-/* .fi
+-/* The IBM Public License must be distributed with this software.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * .ad
++ * .fi
++ * The IBM Public License must be distributed with this software.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
diff --git a/sysutils/memdump/files/patch-makedefs b/sysutils/memdump/files/patch-makedefs
new file mode 100644
index 000000000000..049090df88f7
--- /dev/null
+++ b/sysutils/memdump/files/patch-makedefs
@@ -0,0 +1,13 @@
+--- makedefs.orig Sun Feb 20 15:41:41 2005
++++ makedefs Sun Feb 20 15:42:41 2005
+@@ -8,6 +8,10 @@
+ ;;
+ FreeBSD.4*) DEFS="-DFREEBSD4"
+ ;;
++ FreeBSD.5*) DEFS="-DFREEBSD5"
++ ;;
++ FreeBSD.6*) DEFS="-DFREEBSD6"
++ ;;
+ OpenBSD.2*) DEFS="-DOPENBSD2"
+ ;;
+ OpenBSD.3*) DEFS="-DOPENBSD3"
diff --git a/sysutils/memdump/files/patch-memdump.c b/sysutils/memdump/files/patch-memdump.c
new file mode 100644
index 000000000000..018aa732934d
--- /dev/null
+++ b/sysutils/memdump/files/patch-memdump.c
@@ -0,0 +1,214 @@
+--- memdump.c.orig Thu Jan 1 19:30:09 2004
++++ memdump.c Sun Feb 20 15:58:34 2005
+@@ -1,92 +1,92 @@
+ /*++
+-/* NAME
+-/* memdump 1
+-/* SUMMARY
+-/* memory dumper
+-/* SYNOPSIS
+-/* .ad
+-/* .fi
+-/* \fBmemdump\fR [\fB-kv\fR] [\fB-b \fIbuffer_size\fR]
+-/* [\fB-d \fIdump_size\fR] [\fB-m \fImap_file\fR] [\fB-p \fIpage_size\fR]
+-/* DESCRIPTION
+-/* This program dumps system memory to the standard output stream,
+-/* skipping over holes in memory maps.
+-/* By default, the program dumps the contents of physical memory
+-/* (\fB/dev/mem\fR).
+-/*
+-/* Output is in the form of a raw dump; if necessary, use the \fB-m\fR
+-/* option to capture memory layout information.
+-/*
+-/* Output should be sent off-host over the network, to avoid changing
+-/* all the memory in the file system cache. Use netcat, stunnel, or
+-/* openssl, depending on your requirements.
+-/*
+-/* The size arguments below understand the \fBk\fR (kilo) \fBm\fR (mega)
+-/* and \fBg\fR (giga) suffixes. Suffixes are case insensitive.
+-/*
+-/* Options
+-/* .IP \fB-k\fR
+-/* Attempt to dump kernel memory (\fB/dev/kmem\fR) rather than physical
+-/* memory.
+-/* .sp
+-/* Warning: this can lock up the system to the point that you have
+-/* to use the power switch (for example, Solaris 8 on 64-bit SPARC).
+-/* .sp
+-/* Warning: this produces bogus results on Linux 2.2 kernels.
+-/* .sp
+-/* Warning: this is very slow on 64-bit machines because the entire
+-/* memory address range has to be searched.
+-/* .sp
+-/* Warning: kernel virtual memory mappings change frequently. Depending
+-/* on the operating system, mappings smaller than \fIpage_size\fR or
+-/* \fIbuffer_size\fR may be missed or may be reported incorrectly.
+-/* .IP "\fB-b \fIbuffer_size\fR (default: 0)"
+-/* Number of bytes per memory read operation. By default, the program
+-/* uses the \fIpage_size\fR value.
+-/* .sp
+-/* Warning: a too large read buffer size causes memory to be missed on
+-/* FreeBSD or Solaris.
+-/* .IP "\fB-d \fIdump-size\fR (default: 0)"
+-/* Number of memory bytes to dump. By default, the program runs
+-/* until the memory device reports an end-of-file (Linux), or until
+-/* it has dumped from \fB/dev/mem\fR as much memory as reported present
+-/* by the kernel (FreeBSD, Solaris), or until pointer wrap-around happens.
+-/* .sp
+-/* Warning: a too large value causes the program to spend a lot of time
+-/* skipping over non-existent memory on Solaris systems.
+-/* .sp
+-/* Warning: a too large value causes the program to copy non-existent
+-/* data on FreeBSD systems.
+-/* .IP "\fB-m\fR \fImap_file\fR"
+-/* Write the memory map to \fImap_file\fR, one entry per line.
+-/* Specify \fB-m-\fR to write to the standard error stream.
+-/* Each map entry consists of a region start address and the first
+-/* address beyond that region. Addresses are separated by space,
+-/* and are printed as hexadecimal numbers (0xhhhh).
+-/* .IP "\fB-p \fIpage_size\fR (default: 0)"
+-/* Use \fIpage_size\fR as the memory page size. By default the program
+-/* uses the system page size.
+-/* .sp
+-/* Warning: a too large page size causes memory to be missed
+-/* while skipping over holes in memory.
+-/* .IP \fB-v\fR
+-/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
+-/* options make the program more verbose.
+-/* BUGS
+-/* On many hardware platforms the firmware (boot PROM, BIOS, etc.)
+-/* takes away some memory. This memory is not accessible through
+-/* \fB/dev/mem\fR.
+-/*
+-/* This program should produce output in a format that supports
+-/* structure information such as ELF.
+-/* LICENSE
+-/* This software is distributed under the IBM Public License.
+-/* AUTHOR
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* USA
+-/*--*/
++ * NAME
++ * memdump 1
++ * SUMMARY
++ * memory dumper
++ * SYNOPSIS
++ * .ad
++ * .fi
++ * \fBmemdump\fR [\fB-kv\fR] [\fB-b \fIbuffer_size\fR]
++ * [\fB-d \fIdump_size\fR] [\fB-m \fImap_file\fR] [\fB-p \fIpage_size\fR]
++ * DESCRIPTION
++ * This program dumps system memory to the standard output stream,
++ * skipping over holes in memory maps.
++ * By default, the program dumps the contents of physical memory
++ * (\fB/dev/mem\fR).
++ *
++ * Output is in the form of a raw dump; if necessary, use the \fB-m\fR
++ * option to capture memory layout information.
++ *
++ * Output should be sent off-host over the network, to avoid changing
++ * all the memory in the file system cache. Use netcat, stunnel, or
++ * openssl, depending on your requirements.
++ *
++ * The size arguments below understand the \fBk\fR (kilo) \fBm\fR (mega)
++ * and \fBg\fR (giga) suffixes. Suffixes are case insensitive.
++ *
++ * Options
++ * .IP \fB-k\fR
++ * Attempt to dump kernel memory (\fB/dev/kmem\fR) rather than physical
++ * memory.
++ * .sp
++ * Warning: this can lock up the system to the point that you have
++ * to use the power switch (for example, Solaris 8 on 64-bit SPARC).
++ * .sp
++ * Warning: this produces bogus results on Linux 2.2 kernels.
++ * .sp
++ * Warning: this is very slow on 64-bit machines because the entire
++ * memory address range has to be searched.
++ * .sp
++ * Warning: kernel virtual memory mappings change frequently. Depending
++ * on the operating system, mappings smaller than \fIpage_size\fR or
++ * \fIbuffer_size\fR may be missed or may be reported incorrectly.
++ * .IP "\fB-b \fIbuffer_size\fR (default: 0)"
++ * Number of bytes per memory read operation. By default, the program
++ * uses the \fIpage_size\fR value.
++ * .sp
++ * Warning: a too large read buffer size causes memory to be missed on
++ * FreeBSD or Solaris.
++ * .IP "\fB-d \fIdump-size\fR (default: 0)"
++ * Number of memory bytes to dump. By default, the program runs
++ * until the memory device reports an end-of-file (Linux), or until
++ * it has dumped from \fB/dev/mem\fR as much memory as reported present
++ * by the kernel (FreeBSD, Solaris), or until pointer wrap-around happens.
++ * .sp
++ * Warning: a too large value causes the program to spend a lot of time
++ * skipping over non-existent memory on Solaris systems.
++ * .sp
++ * Warning: a too large value causes the program to copy non-existent
++ * data on FreeBSD systems.
++ * .IP "\fB-m\fR \fImap_file\fR"
++ * Write the memory map to \fImap_file\fR, one entry per line.
++ * Specify \fB-m-\fR to write to the standard error stream.
++ * Each map entry consists of a region start address and the first
++ * address beyond that region. Addresses are separated by space,
++ * and are printed as hexadecimal numbers (0xhhhh).
++ * .IP "\fB-p \fIpage_size\fR (default: 0)"
++ * Use \fIpage_size\fR as the memory page size. By default the program
++ * uses the system page size.
++ * .sp
++ * Warning: a too large page size causes memory to be missed
++ * while skipping over holes in memory.
++ * .IP \fB-v\fR
++ * Enable verbose logging for debugging purposes. Multiple \fB-v\fR
++ * options make the program more verbose.
++ * BUGS
++ * On many hardware platforms the firmware (boot PROM, BIOS, etc.)
++ * takes away some memory. This memory is not accessible through
++ * \fB/dev/mem\fR.
++ *
++ * This program should produce output in a format that supports
++ * structure information such as ELF.
++ * LICENSE
++ * This software is distributed under the IBM Public License.
++ * AUTHOR
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * USA
++ *--*/
+
+ /* System libraries. */
+
+@@ -108,7 +108,7 @@
+ #endif
+
+ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
+- || defined(FREEBSD5) \
++ || defined(FREEBSD5) || defined(FREEBSD6) \
+ || defined(OPENBSD2) || defined(OPENBSD3) \
+ || defined(BSDI2) || defined(BSDI3) || defined(BSDI4)
+ #include <sys/param.h>
+@@ -184,7 +184,7 @@
+ #endif
+
+ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
+- || defined(FREEBSD5) \
++ || defined(FREEBSD5) || defined(FREEBSD6) \
+ || defined(OPENBSD2) || defined(OPENBSD3)
+ int name[] = {CTL_HW, HW_PHYSMEM};
+ size_t len;
+@@ -220,9 +220,9 @@
+ static void dump_memory(int fd, FILE * map, char *buffer, size_t buffer_size,
+ size_t dump_size, size_t page_size, int flags)
+ {
+- OFFT_TYPE start;
+- OFFT_TYPE where;
+- OFFT_TYPE count;
++ OFFT_TYPE start = 0;
++ OFFT_TYPE where = 0;
++ OFFT_TYPE count = 0;
+ size_t todo;
+ ssize_t read_count;
+ int in_region = 0;
diff --git a/sysutils/memdump/files/patch-mymalloc.c b/sysutils/memdump/files/patch-mymalloc.c
new file mode 100644
index 000000000000..a800df6581bc
--- /dev/null
+++ b/sysutils/memdump/files/patch-mymalloc.c
@@ -0,0 +1,91 @@
+--- mymalloc.c.orig Sun Feb 20 15:51:11 2005
++++ mymalloc.c Sun Feb 20 15:52:01 2005
+@@ -1,46 +1,46 @@
+ /*++
+-/* NAME
+-/* mymalloc 3
+-/* SUMMARY
+-/* memory management wrappers
+-/* SYNOPSIS
+-/* #include <mymalloc.h>
+-/*
+-/* char *mymalloc(len)
+-/* int len;
+-/*
+-/* char *myrealloc(ptr, len)
+-/* char *ptr;
+-/* int len;
+-/*
+-/* char *mystrdup(str)
+-/* const char *str;
+-/* DESCRIPTION
+-/* This module performs low-level memory management with error
+-/* handling. A call of these functions either succeeds or it does
+-/* not return at all.
+-/*
+-/* mymalloc() allocates the requested amount of memory. The memory
+-/* is not set to zero.
+-/*
+-/* myrealloc() resizes memory obtained from mymalloc() or myrealloc()
+-/* to the requested size. The result pointer value may differ from
+-/* that given via the \fBptr\fR argument.
+-/*
+-/* mystrdup() returns a dynamic-memory copy of its null-terminated
+-/* argument. This routine uses mymalloc().
+-/* SEE ALSO
+-/* error(3) error reporting module.
+-/* DIAGNOSTICS
+-/* Fatal errors: the requested amount of memory is not available.
+-/* LICENSE
+-/* This software is distributed under the IBM Public License.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * NAME
++ * mymalloc 3
++ * SUMMARY
++ * memory management wrappers
++ * SYNOPSIS
++ * #include <mymalloc.h>
++ *
++ * char *mymalloc(len)
++ * int len;
++ *
++ * char *myrealloc(ptr, len)
++ * char *ptr;
++ * int len;
++ *
++ * char *mystrdup(str)
++ * const char *str;
++ * DESCRIPTION
++ * This module performs low-level memory management with error
++ * handling. A call of these functions either succeeds or it does
++ * not return at all.
++ *
++ * mymalloc() allocates the requested amount of memory. The memory
++ * is not set to zero.
++ *
++ * myrealloc() resizes memory obtained from mymalloc() or myrealloc()
++ * to the requested size. The result pointer value may differ from
++ * that given via the \fBptr\fR argument.
++ *
++ * mystrdup() returns a dynamic-memory copy of its null-terminated
++ * argument. This routine uses mymalloc().
++ * SEE ALSO
++ * error(3) error reporting module.
++ * DIAGNOSTICS
++ * Fatal errors: the requested amount of memory is not available.
++ * LICENSE
++ * This software is distributed under the IBM Public License.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
+
+ /* System library. */
+
diff --git a/sysutils/memdump/files/patch-mymalloc.h b/sysutils/memdump/files/patch-mymalloc.h
new file mode 100644
index 000000000000..4a0b537ebb8b
--- /dev/null
+++ b/sysutils/memdump/files/patch-mymalloc.h
@@ -0,0 +1,48 @@
+--- mymalloc.h.orig Sun Feb 20 15:48:02 2005
++++ mymalloc.h Sun Feb 20 15:49:36 2005
+@@ -1,14 +1,14 @@
+ /*++
+-/* NAME
+-/* mymalloc 3h
+-/* SUMMARY
+-/* memory management wrappers
+-/* SYNOPSIS
+-/* #include "mymalloc.h"
+-/* DESCRIPTION
+-/* .nf
++ * NAME
++ * mymalloc 3h
++ * SUMMARY
++ * memory management wrappers
++ * SYNOPSIS
++ * #include "mymalloc.h"
++ * DESCRIPTION
++ * .nf
+
+- /*
++ *
+ * External interface.
+ */
+ extern char *mymalloc(int);
+@@ -16,12 +16,12 @@
+ extern char *mystrdup(const char *);
+
+ /* LICENSE
+-/* .ad
+-/* .fi
+-/* The IBM Public License must be distributed with this software.
+-/* AUTHOR(S)
+-/* Wietse Venema
+-/* IBM T.J. Watson Research
+-/* P.O. Box 704
+-/* Yorktown Heights, NY 10598, USA
+-/*--*/
++ * .ad
++ * .fi
++ * The IBM Public License must be distributed with this software.
++ * AUTHOR(S)
++ * Wietse Venema
++ * IBM T.J. Watson Research
++ * P.O. Box 704
++ * Yorktown Heights, NY 10598, USA
++ *--*/
diff --git a/sysutils/memdump/pkg-descr b/sysutils/memdump/pkg-descr
index 5b8bf7b4d96a..b88a609b9577 100644
--- a/sysutils/memdump/pkg-descr
+++ b/sysutils/memdump/pkg-descr
@@ -2,4 +2,4 @@ This program dumps system memory to the standard output stream,
skipping over holes in memory maps.
By default, the program dumps the contents of physical memory.
-WWW: http://www.porcupine.org/forensics/
+WWW: http://www.porcupine.org/forensics/tct.html