ossp-pkg/mm/ChangeLog
_ ___ ____ ____ ____
|_|_ _ / _ \/ ___/ ___|| _ \ _ __ ___ _ __ ___
_|_||_| | | | \___ \___ \| |_) | | '_ ` _ \| '_ ` _ \
|_||_|_| | |_| |___) |__) | __/ | | | | | | | | | | |
|_|_|_| \___/|____/____/|_| |_| |_| |_|_| |_| |_|
OSSP mm - Shared Memory Allocation
ChangeLog
=========
Changes between 1.4.2 and 1.4.3 (15-Aug-2006 to 01-Jan-2007)
*) Fix sanity check on "mm_global" variable in MM_permission().
[Michael Durket <durket@hw-durket.stanford.edu>]
*) Updated all copyright messages for year 2007.
[Ralf S. Engelschall]
Changes between 1.4.1 and 1.4.2 (10-Aug-2006 to 15-Aug-2006)
*) Support the LDFLAGS and LIBS variables in Makefile.
[Ralf S. Engelschall, Francois Laupretre <francois.laupretre@ratp.fr>]
*) Upgraded build environment to GNU autoconf 2.61
[Ralf S. Engelschall]
*) Remove a trailing whitespace in mm.pod which
confused pod2html(1) and generated bad output.
[Neil Conway <neilc@samurai.com>]
Changes between 1.4.0 and 1.4.1 (02-Sep-2005 to 10-Aug-2006)
*) Add new API function MM_reset() and mm_reset().
[Neil Conway <neilc@samurai.com>]
*) Upgraded build environment to GNU shtool 2.0.6,
GNU libtool 1.5.22 and GNU autoconf 2.60.
[Ralf S. Engelschall]
*) Fix spelling errors in manual page mm(3) and corrected
description of mm_sizeof() function.
[Neil Conway <neilc@samurai.com>]
Changes between 1.3.1 and 1.4.0 (12-Sep-2003 to 02-Sep-2005)
*) Optimize insertion of free memory chunks by merging with
the spare area if possible to decrease memory fragmentation.
[<gennadyd@yahoo.com>]
*) Fix mm_realloc() function: If the memory chunk passed to mm_realloc()
can't be extended and a new chunk must be allocated, the old memory
is copied into the new chunk with a call to memcpy(3). However, the
used size is the length of the new data and will cause memcpy(3) to
access memory beyond the old data chunk's boundaries.
[Kirk Petersen <kirk.petersen@watchguard.com>]
*) Upgraded build environment to GNU Libtool 1.5.20 and GNU shtool 2.0.2
[Ralf S. Engelschall]
*) Updated all copyright messages for year 2005.
[Ralf S. Engelschall]
Changes between 1.3.0 and 1.3.1 (07-Mar-2003 to 12-Sep-2004)
*) Upgraded build environment to GNU Shtool 2.0.1,
GNU Libtool 1.5.8 and Autoconf 2.59.
[Ralf S. Engelschall]
Changes between 1.2.2 and 1.3.0 (23-Dec-2002 to 07-Mar-2003)
*) Correctly cleanup under MM_SHMT_MMZERO in case of a shared
memory segment creation error.
[Ralf S. Engelschall]
*) Close the filedescriptor of the underlying object immediately
after mmap(2)'ing it in case of MM_SHMT_MMPOSX, MM_SHMT_MMZERO
and MM_SHMT_MMFILE.
[Ralf S. Engelschall, Joe Orton <jorton@redhat.com>]
Changes between 1.2.1 and 1.2.2 (28-Jul-2002 to 23-Dec-2002)
*) Stripped trailing whitespaces from all files in source tree.
[Ralf S. Engelschall]
*) Upgraded build environment to GNU Shtool 1.6.2, Libtool 1.4.3
and Autoconf 2.57.
[Ralf S. Engelschall]
*) Use "close-on-exec" semantic on internal file descriptors if
underlying platform supports this feature. This makes sure the file
descriptors are closed by the kernel upon execution of exec(3) by
the application.
[Ralf S. Engelschall, Martin Kraemer <Martin.Kraemer@Fujitsu-Siemens.com>]
*) Fixed Makefile.in: $(TRUE) was not defined.
[Will Day <wd@hpgx.net>]
*) Updated all copyright messages with forthcoming year 2003,
added OSSP project as secondary copyright holder, added standard
OSSP ASCII-art logo to documents, etc.
[Ralf S. Engelschall]
Changes between 1.2.0 and 1.2.1 (26-Jul-2002 to 28-Jul-2002)
*) Fixed the package rolling: configure.ac was missing because
of a bug in devtool.conf.
[Kean Johnston <jkj@armory.com>]
Changes between 1.1.3 and 1.2.0 (01-Jul-2000 to 26-Jul-2002)
*) Fixed race condition in temporary file creation.
[Sebastian Krahmer, SuSE Security]
*) Make sure that under MM_SEMT_IPCSEM (mutex implementation method is
SysV IPC semget) the {mm,MM}_permission() also changes the owner of
the semaphore.
[Jonathan Kamens <jonathank@worldwinner.com>]
*) Add support for IRIX 6.5 and other Unix flavors which have
MAXPATHLEN in <sys/param.h>
[Joe Orton <jorton@redhat.com>]
*) Removed the old fbtool stuff for reporting the success/failure
because after 3 years of existence we really know that OSSP mm
works on every reasonable Unix flavor on this earth.
[Ralf S. Engelschall]
*) Upgraded to GNU autoconf 2.53, GNU libtool 1.4.2 and GNU shtool
1.6.1 build environment (using OSSP devtool).
[Ralf S. Engelschall]
*) Changed home from http://www.engelschall.com/sw/mm/ to OSSP
http://www.ossp.org/pkg/lib/mm/ and official name from "MM" to
"OSSP mm" to follow name conventions in the OSSP project.
[Ralf S. Engelschall]
*) Removed variables from ANSI C function prototypes in mm.h
to avoid any potential conflicts in advance.
[Ralf S. Engelschall]
*) Adjusted year in copyright messages for 2002.
[Ralf S. Engelschall]
*) From Apache 2.0's MM patch set:
Make Autoconf test for maximum shared memory size support BEOS and
make decision cacheable.
[The Apache Software Foundation]
*) Fixed initializations of fdxxx variables in mm_core.c
[Alexander Farber <farber@cpan.org>]
*) Added $(DESTDIR) support to Makefile.in. This makes life easier
for RPM package building.
[Brad <brad@openbsd.org>, Ralf S. Engelschall]
*) Fixed typo in mm.h: (still unused) definition of SIZEOF_mem_core_fd
lacked a closing parenthesis.
[Alexander Farber <farber@cpan.org>]
*) Added required "(void *)" cast to MAP_FAILED in Autoconf stuff.
[Albert Chin-A-Young <china@thewrittenword.com>,
Joe Orton <jorton@redhat.com>]
Changes between 1.1.2 and 1.1.3 (21-May-2000 to 01-Jul-2000)
*) Upgraded to GNU libtool from version 1.3.4 to 1.3.5
and upgraded GNU shtool from version 1.4.9 to 1.5.0
[Ralf S. Engelschall]
*) Added OS/390 support to config.sub.
[Greg Ames <gregames@raleigh.ibm.com>]
*) Fixed type-warnings related to `char' vs. `unsigned char' in mm_test.c
[Ralf S. Engelschall]
*) Let the internal mm_insert_chunk() function detect the situation
where a chunk of memory is inserted twice (usually caused by the
application through multiple and this way illegal calls to mm_free() with
the same argument). This especially makes sure the internal list
of free chunks is not corrupted.
[Jeffrey Hsu <hsu@FreeBSD.ORG>, Ralf S. Engelschall]
*) Fixed typos in mm.pod.
[Ralf S. Engelschall]
Changes between 1.1.1 and 1.1.2 (30-Apr-2000 to 21-May-2000)
*) Fixed some logic in mm's configuration that removes -g from CFLAGS.
It incorrectly collapsed " -g " to "", which leaded to invalid CFLAGS.
[Jeff Trawick <trawickj@bellsouth.net>]
*) Fixed shared memory decisions on Linux:
We now avoid using MM_SHMT_MMANON (seems to be completely
broken on 2.0), MM_SHMT_MMZERO (seems like Linux 2.0 hates this
classical combination and return EINVAL for unknown reasons) and
MM_SHMT_IPCSHM (requires that a IPC shm filesystem is mounted
since 2.3). So, technically MM_SHMT_IPCSHM is preferred if the shm
filesystem exists, else we count on MM_SHMT_MMFILE now.
[Ralf S. Engelschall]
Changes between 1.1.0 and 1.1.1 (30-Apr-2000 to 30-Apr-2000)
*) Fixed compilation under Solaris where the SunOS4 and BS2000 kludges
for <sys/shm.h> conflicted with the Sun vendor includes (which
unfortunately use the defines).
[Ralf S. Engelschall, Jeff Beard <jeff@cyberxape.com>]
Changes between 1.0.12 and 1.1.0 (28-Sep-1999 to 30-Apr-2000)
*) Fixed `make test' feedback procedure in Makefile.in now that the
platform list is stored in the PORTING file.
[Ralf S. Engelschall]
*) Renamed file CHANGES to ChangeLog.
[Ralf S. Engelschall]
*) Fixed pointer arithmentic in memset/memcpy replacements
by casting `void *' arguments to `char *'.
[Sascha Schumann <sascha@schumann.cx>]
*) Added BS2000 support for <sys/shm.h> stuff.
[Martin Kraemer <Martin.Kraemer@Fujitsu-Siemens.com>]
*) Added an include for <fcntl.h> to maximum shared mem segment size
check in aclocal.m4. This especially fixes compile problems under for
Solaris 8.
[Alexander Demenchuk <alder@untech.com>, Greg Gears <gears@netair.com>]
*) Fixed a warning under IRIX related to size_t comparisons
[Ralf S. Engelschall]
*) Added support for IBM OS/390
[Jeff Trawick <trawick@ibm.net>]
*) Upgraded to GNU libtool from version 1.3.3 to 1.3.4
and upgraded GNU shtool from version 1.4.6 to 1.4.9
[Ralf S. Engelschall]
*) Upgraded config.guess to GNU Pth's version and
use "/sbin/sysctl" under FreeBSD instead of just "sysctl"
[Jeff Trawick <trawick@ibm.net>]
*) Added platform support for the esoteric Unix look-alike BeOS
[David Reid" <dreid@jetnet.co.uk>]
*) Added `make check' as an alias for `make test'
[Ralf S. Engelschall]
*) Adjusted copyright messages for year 2000
[Ralf S. Engelschall]
*) Fixed Autoconf checks for SunOS
[Ralf S. Engelschall]
*) Fixed a bug in aclocal.m4's AC_CHECK_DEFINE macro.
[Ralf S. Engelschall]
*) Updated the manual page (typos, fixes, etc.)
[Ralf S. Engelschall]
*) Splitted README into README, PORTING and THANKS document.
[Ralf S. Engelschall]
Changes between 1.0.11 and 1.0.12 (06-Sep-1999 to 28-Sep-1999)
*) Recreated configure with latest Autoconf 2.13.1 (snapshot)
*) Always use --mode=xxx for libtool calls to avoid problems under
situations where $CC doesn't allow libtool to guess the mode
correctly.
Changes between 1.0.10 and 1.0.11 (27-Aug-1999 to 06-Sep-1999)
*) Cleaned up various file permission in source tree
*) Enhanced mm-config.in: new --all option and less newlines
*) Added support --silent to libtool glue code in aclocal.m4
*) Upgraded to GNU Pth's more recent config.{guess,sub}
*) Upgraded to GNU shtool 1.4.6
*) Fixed --section for mm-config in Makefile.in
*) Added `void *' casts to MAP_FAILED (= -1) values to avoid
warnings under some platforms.
*) Fixed a few typos in mm.pod
Changes between 1.0.9 and 1.0.10 (02-Jul-1999 to 27-Aug-1999)
*) Changed "make dist" and "make snap" to use "shtool tarball"
*) Added #define KERNEL for SunOS to get SHM_R und SHM_W values.
*) Upgraded to GNU libtool 1.3.3
*) Upgraded to GNU shtool 1.4.5
*) Downgraded required Autoconf version to 2.12
*) Added MM version number to test report
*) Added --enable-batch
*) Moved mm_lock_mode in mm.h to top to avoid warnings
Changes between 1.0.8 and 1.0.9 (24-Jun-1999 to 02-Jul-1999)
*) Fixed a nasty bug related to {MM,mm}_[un]lock():
an additional semicolon broke the semantics.
*) Upgraded to released shtool 1.4.0
*) Fixed `make test'
Changes between 1.0.7 and 1.0.8 (22-Jun-1999 to 24-Jun-1999)
*) Added important MAP_FAILED fallback also to Autoconf stuff
*) Upgraded to latest shtool 1.3.0-dev to fix two Awk problems
Changes between 1.0.6 and 1.0.7 (06-Jun-1999 to 22-Jun-1999)
*) Upgraded to latest shtool 1.3.0-dev
*) Avoid -g under non-debugging situation
*) Complain with a fatal error message when MM_SHM_MAXSEGSIZE
couldn't be determined.
*) Updated config.guess/config.sub
*) Fixed a nasty permission bug for the lock files:
they were opened write-only, but at least fcntl()
requires them to be opened read-write.
*) Check return value of mm_core_lock() in mm_alloc.c
Changes between 1.0.5 and 1.0.6 (02-Jun-1999 to 06-Jun-1999)
*) Fixed mm_malloc() function: it returned the wrong pointer when a chunk
was reused and forgot to lock/unlock the data structures.
*) Fixed internal best-fit algorithm for finding a free memory chunk:
- things got inserted out of order in the list
- when chunk is found which matches size exactly it stops immediately
- lowered chunk splitting threshold to MIN(2*size,128)
*) Moved internal definitions in mm.h to private section
Changes between 1.0.4 and 1.0.5 (21-May-1999 to 02-Jun-1999)
*) Fixed output of mm-config.in
*) Fixed output of configure --help
*) Upgraded to GNU libtool 1.3.2
*) Upgraded to shtool 1.2.9
*) Made libtool calls visible but use --quiet
*) Hint user to send feedback only on errors or for new platform
*) Removed unnecessary "elf" hint for FreeBSD from config.guess
Changes between 1.0.3 and 1.0.4 (15-May-1999 to 21-May-1999)
*) Fixed maximum memory size determination and internal handling
*) Documented the mm_lib_xxx() functions.
Changes between 1.0.2 and 1.0.3 (26-Apr-1999 to 15-May-1999)
*) Added {MM,mm,mm_core}_permission() function
*) Fixed version information and mod_ssl URL in manual page
*) Upgraded config.{guess,sub} from libtool 1.3 distribution
*) Upgraded to GNU libtool 1.3
*) Upgraded to shtool 1.2.7
*) Fixed public includes for xx_t types
*) Fixed mm_vers.c and shtool type inside CVS
Changes between 1.0.1 and 1.0.2 (18-Apr-1999 to 26-Apr-1999)
*) Upgraded to GNU libtool 1.2f
*) Upgraded to shtool 1.1.0
Changes between 1.0.0 and 1.0.1 (18-Mar-1999 to 18-Apr-1999)
*) Fixed "dist" Makefile target to not distribute CVS stuff
*) Upgraded lshtool to the latest version
*) Const'ification of the API
Changes between 1.0b6 and 1.0.0 (18-Mar-1999 to 28-Mar-1999)
*) Finally cleaned up and polished the mm.pod manual page.
*) Fixed mm-config program
Changes between 1.0b5 and 1.0b6 (18-Mar-1999 to 18-Mar-1999)
*) Added {MM,mm}_maxsize() to manual page
*) Changed MM_create() signature to match mm_create()
Changes between 1.0b4 and 1.0b5 (15-Mar-1999 to 18-Mar-1999)
*) Make sure the maximum allocateable size takes
the overhead of the memory pool into account.
*) Fixed lshtool and this way hex version string
*) Fixed Makefile for mm_test target dependecies
*) Added {MM,mm}_maxsize() function to let one
determine in advance the maximum allocateable pool
Changes between 1.0b3 and 1.0b4 (15-Mar-1999 to 15-Mar-1999)
*) Added mm-config.pod manpage
*) Split mm-config --ldflags into --ldflags and --libs
*) Removed TODO and fulltest files
Changes between 1.0b2 and 1.0b3 (13-Mar-1999 to 15-Mar-1999)
*) Added Autoconf check for determining max shared mem segment size
*) Changed -1 to MAP_FAILED when available
*) Replaced 8KB default shared memory segment size with max size
*) Added mm_core_maxsegsize() function
*) Use a remembered offset for mmap() on temporary files
*) Imported source tree into CVS
*) Added read-only locking support
*) Fixed MMFILE and MMZERO variants
Changes between 1.0b1 and 1.0b2 (12-Mar-1999 to 13-Mar-1999)
*) Updated the mm.pod manual page.
*) Split README into README and LICENSE files
*) Fixed becho problems
*) Added a test suite summary
*) Added INSTALL file
*) Reduced mm_test's memory size from 1MB to 512KB
*) Fixed unsigned long and %X related warnings
Changes between 1.0b0 and 1.0b1 (11-Mar-1999 to 12-Mar-1999)
*) Enhanced mm_test
*) Added {MM,mm}_available() function
*) Fixed MMZERO
*) Fixed IPC Semaphore initialization
*) Added --with-{sem,shm}=TYPE options
*) Fixed "make test" and mm_memory_display() function
*) Added mm_lib.c source with mm_lib_xx() functions
Changes between 0.9.0 and 1.0b0 (10-Mar-1999 to 11-Mar-1999)
*) Switched to GNU Autoconf and GNU Libtool
Changes between GENESIS and 0.9.0 (Jan-1999 to 10-Mar-1999)
*) Created initial version on FreeBSD
*) Ported to Linux and Solaris