1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

- Tried to make it possible to have debug versions of the memory

management code in the default link library along with the
  normal versions. Let's see how well this works out in the GCC
  version. SAS/C does not seem to like it...


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14785 87f5fb63-7c3d-0410-a384-fd976d0f7a62
This commit is contained in:
Olaf Barthel
2004-12-24 18:31:38 +00:00
parent 73e6ccc14e
commit d74535f87f
16 changed files with 322 additions and 57 deletions

View File

@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.68k,v 1.17 2004-11-18 09:40:37 obarthel Exp $
# $Id: GNUmakefile.68k,v 1.18 2004-12-24 18:31:37 obarthel Exp $
#
# :ts=8
#
@ -103,10 +103,10 @@ WARNINGS = \
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion
INCLUDES = -Iinclude -I. -Inetinclude
OPTIONS = -DNDEBUG -fno-builtin -DNO_INLINE_STDARG
OPTIONS = -DNDEBUG -fno-builtin
#OPTIONS = -D__MEM_DEBUG -fno-builtin
#OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin
OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
#OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
#OPTIMIZE = -O2 -fomit-frame-pointer
#DEBUG = -g2
@ -237,7 +237,9 @@ C_LIB = \
stdio_translateioerror.o \
stdio_ungetc.o \
stdio_vasprintf.o \
stdio_vasprintf_debug.o \
stdio_vasprintf_hook_entry.o \
stdio_vasprintf_hook_entry_debug.o \
stdio_vfprintf.o \
stdio_vfscanf.o \
stdio_vprintf.o \
@ -248,12 +250,14 @@ C_LIB = \
stdlib_abort.o \
stdlib_abs.o \
stdlib_alloca.o \
stdlib_alloca_debug.o \
stdlib_assertion_failure.o \
stdlib_atexit.o \
stdlib_atoi.o \
stdlib_atol.o \
stdlib_bsearch.o \
stdlib_calloc.o \
stdlib_calloc_debug.o \
stdlib_checkdetach.o \
stdlib_constructor.o \
stdlib_constructor_begin.o \
@ -270,6 +274,7 @@ C_LIB = \
stdlib_dosbase.o \
stdlib_exit.o \
stdlib_free.o \
stdlib_free_debug.o \
stdlib_getdefstacksize.o \
stdlib_getenv.o \
stdlib_getsp.o \
@ -279,6 +284,7 @@ C_LIB = \
stdlib_ldiv.o \
stdlib_machine_test.o \
stdlib_malloc.o \
stdlib_malloc_debug.o \
stdlib_math.o \
stdlib_mkdtemp.o \
stdlib_mkstemp.o \
@ -342,6 +348,7 @@ C_LIB = \
string_strcpy.o \
string_strcspn.o \
string_strdup.o \
string_strdup_debug.o \
string_strerror.o \
string_strlcat.o \
string_strlcpy.o \
@ -384,6 +391,7 @@ C_LIB = \
unistd_fileno.o \
unistd_ftruncate.o \
unistd_getcwd.o \
unistd_getcwd_debug.o \
unistd_getopt.o \
unistd_getpid.o \
unistd_init_exit.o \
@ -423,7 +431,6 @@ UNIX_LIB = \
stdio_fdhookentry.o \
stdio_fflush.o \
stdio_fopen.o \
stdio_fopen.o \
stdio_init_exit.o \
stdio_locksemaphorename.o \
stdio_openiob.o \
@ -432,7 +439,6 @@ UNIX_LIB = \
stdio_rename.o \
stdlib_mkdtemp.o \
stdlib_mkstemp.o \
stdlib_mkstemp.o \
stdlib_mktemp.o \
stdlib_system.o \
unistd_access.o \
@ -440,6 +446,7 @@ UNIX_LIB = \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_getcwd.o \
unistd_getcwd_debug.o \
unistd_lchown.o \
unistd_link.o \
unistd_readlink.o \
@ -497,6 +504,7 @@ MATH_LIB = \
stdio_sprintf.o \
stdio_sscanf.o \
stdio_vasprintf.o \
stdio_vasprintf_debug.o \
stdio_vfprintf.o \
stdio_vfscanf.o \
stdio_vprintf.o \
@ -895,6 +903,52 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
##############################################################################
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):m debug]"
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):unix debug]"
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
##############################################################################
$(LIBC_OBJS) :
$(MAKEDIR) $@

View File

@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.os4,v 1.17 2004-12-13 11:11:57 obarthel Exp $
# $Id: GNUmakefile.os4,v 1.18 2004-12-24 18:31:37 obarthel Exp $
#
# :ts=8
#
@ -32,19 +32,19 @@ MAKE = make -f GNUmakefile.os4
##############################################################################
ifeq (,$(TYPE))
LIBC_OBJS = libc_objs
LIBUNIX_OBJS = libunix_objs
LIBM_OBJS = libm_objs
LIBNET_OBJS = libnet_objs
LIBDEBUG_OBJS = libdebug_objs
LIBAMIGA_OBJS = libamiga_objs
LIBC_OBJS = libc_objs
LIBUNIX_OBJS = libunix_objs
LIBM_OBJS = libm_objs
LIBNET_OBJS = libnet_objs
LIBDEBUG_OBJS = libdebug_objs
LIBAMIGA_OBJS = libamiga_objs
else
LIBC_OBJS = $(TYPE)/libc_objs
LIBUNIX_OBJS = $(TYPE)/libunix_objs
LIBM_OBJS = $(TYPE)/libm_objs
LIBNET_OBJS = $(TYPE)/libnet_objs
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
LIBC_OBJS = $(TYPE)/libc_objs
LIBUNIX_OBJS = $(TYPE)/libunix_objs
LIBM_OBJS = $(TYPE)/libm_objs
LIBNET_OBJS = $(TYPE)/libnet_objs
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
endif
##############################################################################
@ -241,7 +241,9 @@ C_LIB = \
stdio_translateioerror.o \
stdio_ungetc.o \
stdio_vasprintf.o \
stdio_vasprintf_debug.o \
stdio_vasprintf_hook_entry.o \
stdio_vasprintf_hook_entry_debug.o \
stdio_vfprintf.o \
stdio_vfscanf.o \
stdio_vprintf.o \
@ -252,12 +254,14 @@ C_LIB = \
stdlib_abort.o \
stdlib_abs.o \
stdlib_alloca.o \
stdlib_alloca_debug.o \
stdlib_assertion_failure.o \
stdlib_atexit.o \
stdlib_atoi.o \
stdlib_atol.o \
stdlib_bsearch.o \
stdlib_calloc.o \
stdlib_calloc_debug.o \
stdlib_checkdetach.o \
stdlib_constructor.o \
stdlib_constructor_begin.o \
@ -274,6 +278,7 @@ C_LIB = \
stdlib_dosbase.o \
stdlib_exit.o \
stdlib_free.o \
stdlib_free_debug.o \
stdlib_getdefstacksize.o \
stdlib_getenv.o \
stdlib_getsp.o \
@ -283,6 +288,7 @@ C_LIB = \
stdlib_ldiv.o \
stdlib_machine_test.o \
stdlib_malloc.o \
stdlib_malloc_debug.o \
stdlib_math.o \
stdlib_mkdtemp.o \
stdlib_mkstemp.o \
@ -346,6 +352,7 @@ C_LIB = \
string_strcpy.o \
string_strcspn.o \
string_strdup.o \
string_strdup_debug.o \
string_strerror.o \
string_strlcat.o \
string_strlcpy.o \
@ -388,6 +395,7 @@ C_LIB = \
unistd_fileno.o \
unistd_ftruncate.o \
unistd_getcwd.o \
unistd_getcwd_debug.o \
unistd_getopt.o \
unistd_getpid.o \
unistd_init_exit.o \
@ -428,7 +436,6 @@ UNIX_LIB = \
stdio_fdhookentry.o \
stdio_fflush.o \
stdio_fopen.o \
stdio_fopen.o \
stdio_init_exit.o \
stdio_locksemaphorename.o \
stdio_openiob.o \
@ -437,7 +444,6 @@ UNIX_LIB = \
stdio_rename.o \
stdlib_mkdtemp.o \
stdlib_mkstemp.o \
stdlib_mkstemp.o \
stdlib_mktemp.o \
stdlib_system.o \
unistd_access.o \
@ -445,6 +451,7 @@ UNIX_LIB = \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_getcwd.o \
unistd_getcwd_debug.o \
unistd_lchown.o \
unistd_link.o \
unistd_readlink.o \
@ -509,6 +516,7 @@ MATH_LIB = \
stdio_sprintf.o \
stdio_sscanf.o \
stdio_vasprintf.o \
stdio_vasprintf_debug.o \
stdio_vfprintf.o \
stdio_vfscanf.o \
stdio_vprintf.o \
@ -907,6 +915,54 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
##############################################################################
# Peculiar build rules for the debug versions of memory allocation functions,
# or at least those which use memory allocation functionality.
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):m debug]"
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG $(FLOAT_TYPE) stdio_vasprintf.c
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):unix debug]"
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
##############################################################################
# Individual build rules for libc.a
$(LIBC_OBJS) :
$(MAKEDIR) $@

View File

@ -11,6 +11,11 @@
- Finally optimized the alloca() memory cleanup code.
- Tried to make it possible to have debug versions of the memory
management code in the default link library along with the
normal versions. Let's see how well this works out in the GCC
version. SAS/C does not seem to like it...
c.lib 1.184 (28.11.2004)

View File

@ -1,5 +1,5 @@
/*
* $Id: signal_headers.h,v 1.2 2004-11-14 11:06:27 obarthel Exp $
* $Id: signal_headers.h,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -85,9 +85,9 @@ extern const char NOCOMMON __abnormal_program_termination[];
/****************************************************************************/
#ifndef _STDLIB_PROTOS_H
#include "stdlib_protos.h"
#endif /* _STDLIB_PROTOS_H */
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/

View File

@ -1,5 +1,5 @@
#
# $Id: smakefile,v 1.13 2004-12-24 11:46:12 obarthel Exp $
# $Id: smakefile,v 1.14 2004-12-24 18:31:38 obarthel Exp $
#
# :ts=8
#
@ -345,7 +345,9 @@ STDIO_OBJ = \
stdio_translateioerror.o \
stdio_ungetc.o \
stdio_vasprintf.o \
stdio_vasprintf_debug.o \
stdio_vasprintf_hook_entry.o \
stdio_vasprintf_hook_debug.o \
stdio_vfprintf.o \
stdio_vfscanf.o \
stdio_vprintf.o \
@ -358,6 +360,10 @@ STDLIB_OBJ = \
stdlib_abort.o \
stdlib_abs.o \
stdlib_alloca.o \
stdlib_alloca_debug.o \
stdlib_calloc_debug.o \
stdlib_free_debug.o \
stdlib_malloc_debug.o \
stdlib_assertion_failure.o \
stdlib_atexit.o \
stdlib_atof.o \
@ -446,6 +452,7 @@ STRING_OBJ = \
string_strcpy.o \
string_strcspn.o \
string_strdup.o \
string_strdup_debug.o \
string_strerror.o \
string_strlcat.o \
string_strlcpy.o \
@ -497,6 +504,7 @@ UNISTD_OBJ = \
unistd_fileno.o \
unistd_ftruncate.o \
unistd_getcwd.o \
unistd_getcwd_debug.o \
unistd_getopt.o \
unistd_getpid.o \
unistd_init_exit.o \
@ -677,6 +685,38 @@ sas_profile.o : sas_profile.c
@echo "Compiling $<"
@sc $(CFLAGS) noprofile sas_profile.c
stdio_vasprintf_hook_debug.o : stdio_vasprintf_hook_entry.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdio_vasprintf_hook_debug.o stdio_vasprintf_hook_entry.c
stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdio_vasprintf_debug.o stdio_vasprintf.c
stdlib_alloca_debug.o : stdlib_alloca.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdlib_alloca_debug.o stdlib_alloca.c
stdlib_calloc_debug.o : stdlib_calloc.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdlib_calloc_debug.o stdlib_calloc.c
stdlib_free_debug.o : stdlib_free.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdlib_free_debug.o stdlib_free.c
stdlib_malloc_debug.o : stdlib_malloc.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=stdlib_malloc_debug.o stdlib_malloc.c
string_strdup_debug.o : string_strdup.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=string_strdup_debug.o string_strdup.c
unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $<"
@sc $(CFLAGS) define=__USE_MEM_TREES define=__MEM_DEBUG objname=unistd_getcwd_debug.o unistd_getcwd.c
##############################################################################
ctype.lib : $(CTYPE_OBJ)

View File

@ -1,5 +1,5 @@
/*
* $Id: stdio_vasprintf.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
* $Id: stdio_vasprintf.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -37,13 +37,15 @@
/****************************************************************************/
#ifndef _STDIO_HEADERS_H
#include "stdio_headers.h"
#endif /* _STDIO_HEADERS_H */
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/
#include "stdlib_protos.h"
#ifndef _STDIO_HEADERS_H
#include "stdio_headers.h"
#endif /* _STDIO_HEADERS_H */
/****************************************************************************/
@ -55,7 +57,7 @@
/****************************************************************************/
int
__static int
__vasprintf(const char *file,int line,char **ret,const char *format,va_list arg)
{
struct iob string_iob;
@ -121,6 +123,10 @@ __vasprintf(const char *file,int line,char **ret,const char *format,va_list arg)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
int
vasprintf(char **ret,const char *format,va_list arg)
{
@ -130,3 +136,7 @@ vasprintf(char **ret,const char *format,va_list arg)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */

View File

@ -1,5 +1,5 @@
/*
* $Id: stdio_vasprintf_hook_entry.c,v 1.1.1.1 2004-07-26 16:31:43 obarthel Exp $
* $Id: stdio_vasprintf_hook_entry.c,v 1.2 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -43,7 +43,9 @@
/****************************************************************************/
#include "stdlib_protos.h"
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_alloca.c,v 1.2 2004-12-24 11:46:12 obarthel Exp $
* $Id: stdlib_alloca.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -111,7 +111,7 @@ __alloca_cleanup(const char * file,int line)
/****************************************************************************/
void *
__static void *
__alloca(size_t size,const char * file,int line)
{
void * stack_pointer = __get_sp();
@ -170,6 +170,10 @@ __alloca(size_t size,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
void *
alloca(size_t size)
{
@ -179,3 +183,7 @@ alloca(size_t size)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_calloc.c,v 1.1.1.1 2004-07-26 16:31:52 obarthel Exp $
* $Id: stdlib_calloc.c,v 1.2 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -47,7 +47,7 @@
/****************************************************************************/
void *
__static void *
__calloc(size_t num_elements,size_t element_size,const char * file,int line)
{
void * result = NULL;
@ -82,6 +82,10 @@ __calloc(size_t num_elements,size_t element_size,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
void *
calloc(size_t num_elements,size_t element_size)
{
@ -91,3 +95,7 @@ calloc(size_t num_elements,size_t element_size)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_free.c,v 1.2 2004-12-24 11:46:12 obarthel Exp $
* $Id: stdlib_free.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -44,6 +44,7 @@
/****************************************************************************/
#undef free
#undef __free
/****************************************************************************/
@ -495,7 +496,7 @@ __force_free(void * ptr,const char * file,int line)
/****************************************************************************/
void
__static void
__free(void * ptr,const char * file,int line)
{
if(ptr != NULL)
@ -504,6 +505,10 @@ __free(void * ptr,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
void
free(void * ptr)
{
@ -512,6 +517,10 @@ free(void * ptr)
/****************************************************************************/
#endif /* __MEM_DEBUG */
/****************************************************************************/
void
__memory_exit(void)
{

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_headers.h,v 1.4 2004-12-24 11:46:12 obarthel Exp $
* $Id: stdlib_headers.h,v 1.5 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -103,6 +103,47 @@
/****************************************************************************/
/* We shuffle things around a bit for the debug code. This works by joining
related code which shares the same name. The debug code symbols also have
to be completely separate from the "regular" code. */
#if defined(__MEM_DEBUG)
#define __static
#define __alloca_cleanup __alloca_cleanup_debug
#define __alloca_exit __alloca_exit_debug
#define __find_memory_node __find_memory_node_debug
#define __free_memory_node __free_memory_node_debug
#define __force_free __force_free_debug
#define __get_allocation_size __get_allocation_size_debug
#define __allocate_memory __allocate_memory_debug
#define __memory_pool __memory_pool_debug
#define __memory_list __memory_list_debug
#define __vasprintf_hook_entry __vasprintf_hook_entry_debug
extern void * __alloca(size_t size,const char * file,int line);
extern void * __calloc(size_t num_elements,size_t element_size,const char * file,int line);
extern void __free(void * ptr,const char * file,int line);
extern void * __malloc(size_t size,const char * file,int line);
extern void * __realloc(void *ptr,size_t size,const char * file,int line);
extern char * __strdup(const char *s,const char * file,int line);
extern char * __getcwd(char * buffer,size_t buffer_size,const char *file,int line);
#else
#define __static static
#define __free(mem,file,line) free(mem)
#define __malloc(size,file,line) malloc(size)
#endif /* __MEM_DEBUG */
/****************************************************************************/
struct MemoryNode
{
struct MinNode mn_MinNode;

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_malloc.c,v 1.2 2004-12-24 11:46:12 obarthel Exp $
* $Id: stdlib_malloc.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -44,6 +44,7 @@
/****************************************************************************/
#undef malloc
#undef __malloc
/****************************************************************************/
@ -206,7 +207,7 @@ __allocate_memory(size_t size,BOOL never_free,const char * UNUSED file,int UNUSE
/****************************************************************************/
void *
__static void *
__malloc(size_t size,const char * file,int line)
{
void * result = NULL;
@ -249,6 +250,10 @@ __malloc(size_t size,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
void *
malloc(size_t size)
{
@ -259,6 +264,11 @@ malloc(size_t size)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */
/****************************************************************************/
void

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_protos.h,v 1.3 2004-12-24 11:46:12 obarthel Exp $
* $Id: stdlib_protos.h,v 1.4 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -141,7 +141,6 @@ extern int __startup_init(void);
extern void __memory_init(void);
extern size_t __get_allocation_size(size_t size);
extern void * __allocate_memory(size_t size,BOOL never_free,const char * file,int line);
extern void * __malloc(size_t size,const char * file,int line);
/* stdlib_free.c */
extern void __memory_exit(void);
@ -149,14 +148,9 @@ extern struct MemoryNode * __find_memory_node(void * address);
extern void __force_free(void * ptr,const char * file,int line);
extern void __check_memory_allocations(const char * file,int line);
extern void __free_memory_node(struct MemoryNode * mn,const char * file,int line);
extern void __free(void * ptr,const char * file,int line);
/* stdlib_alloca.c */
extern void __alloca_cleanup(const char * file,int line);
extern void * __alloca(size_t size,const char * file,int line);
/* stdlib_realloc.c */
extern void * __realloc(void *ptr,size_t size,const char * file,int line);
/****************************************************************************/

View File

@ -1,5 +1,5 @@
/*
* $Id: stdlib_realloc.c,v 1.1.1.1 2004-07-26 16:32:03 obarthel Exp $
* $Id: stdlib_realloc.c,v 1.2 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -47,7 +47,7 @@
/****************************************************************************/
void *
__static void *
__realloc(void *ptr,size_t size,const char * file,int line)
{
void * result = NULL;
@ -199,6 +199,10 @@ __realloc(void *ptr,size_t size,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
void *
realloc(void *ptr,size_t size)
{
@ -208,3 +212,7 @@ realloc(void *ptr,size_t size)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */

View File

@ -1,5 +1,5 @@
/*
* $Id: string_strdup.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
* $Id: string_strdup.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -43,7 +43,9 @@
/****************************************************************************/
#include "stdlib_protos.h"
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/
@ -55,7 +57,7 @@
/****************************************************************************/
char *
__static char *
__strdup(const char *s,const char * file,int line)
{
char * result = NULL;
@ -88,6 +90,10 @@ __strdup(const char *s,const char * file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
char *
strdup(const char *s)
{
@ -97,3 +103,7 @@ strdup(const char *s)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */

View File

@ -1,5 +1,5 @@
/*
* $Id: unistd_getcwd.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
* $Id: unistd_getcwd.c,v 1.3 2004-12-24 18:31:38 obarthel Exp $
*
* :ts=4
*
@ -49,7 +49,9 @@
/****************************************************************************/
#include "stdlib_protos.h"
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/
@ -61,7 +63,7 @@
/****************************************************************************/
char *
__static char *
__getcwd(char * buffer,size_t buffer_size,const char *file,int line)
{
#if defined(UNIX_PATH_SEMANTICS)
@ -213,6 +215,10 @@ __getcwd(char * buffer,size_t buffer_size,const char *file,int line)
/****************************************************************************/
#if NOT defined(__MEM_DEBUG)
/****************************************************************************/
char *
getcwd(char * buffer, size_t buffer_size)
{
@ -222,3 +228,7 @@ getcwd(char * buffer, size_t buffer_size)
return(result);
}
/****************************************************************************/
#endif /* __MEM_DEBUG */