274 lines
8.2 KiB
C
Executable File
274 lines
8.2 KiB
C
Executable File
/*
|
|
* Automatic configuration flags
|
|
*
|
|
* Copyright 2000 by Gray Watson
|
|
*
|
|
* This file is part of the dmalloc package.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose and without fee is hereby granted, provided
|
|
* that the above copyright notice and this permission notice appear
|
|
* in all copies, and that the name of Gray Watson not be used in
|
|
* advertising or publicity pertaining to distribution of the document
|
|
* or software without specific, written prior permission.
|
|
*
|
|
* Gray Watson makes no representations about the suitability of the
|
|
* software described herein for any purpose. It is provided "as is"
|
|
* without express or implied warranty.
|
|
*
|
|
* The author may be contacted via http://dmalloc.com/
|
|
*
|
|
* $Id: //BBN_Linux/Branch/Branch_for_Rel_TP_ASEAN_20161216/tclinux_phoenix/apps/public/tools/dmalloc-5.5.2/conf.h.in#1 $
|
|
*/
|
|
|
|
#ifndef __CONF_H__
|
|
#define __CONF_H__
|
|
|
|
/* please see settings.h for manual configuration options */
|
|
|
|
/*
|
|
* NOTE: The following settings should not need to be tuned by hand.
|
|
*/
|
|
|
|
/*
|
|
* Set to 1 if the mprotect function was found and the PROT_NONE,
|
|
* PROT_READ, and PROT_WRITE defines were found in sys/mman.h. This
|
|
* is so that we can restrict access to certain blocks of memory.
|
|
*/
|
|
#define PROTECT_ALLOWED 0
|
|
|
|
/*
|
|
* (char *)sbrk(const int incr) is the main heap-memory allocation
|
|
* routine that most systems employ. This extends the program's data
|
|
* space by INCR number of bytes.
|
|
*
|
|
* NOTE: If configure generates a 0 for this and HAVE_MMAP on your
|
|
* system, you should see the INTERNAL_MEMORY_SPACE setting in the
|
|
* settings.h file which is created from the settings.dist file.
|
|
*/
|
|
#define HAVE_SBRK 0
|
|
|
|
/*
|
|
* (void *)mmap(...) is another heap-memory allocation routine that
|
|
* systems employ. On newer systems it is often preferable over sbrk.
|
|
* It allocates a block of memory in the virtual-memory system. The
|
|
* USE_MMAP define is set if the standard mmap call works.
|
|
*
|
|
* NOTE: If configure generates a 0 for this and HAVE_SBRK on your
|
|
* system, you should see the INTERNAL_MEMORY_SPACE setting in the
|
|
* settings.h file which is created from the settings.dist file.
|
|
*/
|
|
#define HAVE_MMAP 0
|
|
#define USE_MMAP 0
|
|
|
|
/*
|
|
* This is the basic block size in bits. If possible, the configure
|
|
* script will set this to be the value returned by the getpagesize()
|
|
* function. If not then some sort of best guess will be necessary.
|
|
* 15 (meaning basic block size of 32k) will probably be good.
|
|
*
|
|
* NOTE: some sbrk functions round to the correct page-size. No
|
|
* problems aside from a possible small increase in the administration
|
|
* overhead should happen if this value is too high.
|
|
*/
|
|
#define BASIC_BLOCK 15
|
|
|
|
/*
|
|
* The alignment value of all allocations in number of bytes for
|
|
* loading admin information before an allocation. If possible, the
|
|
* configure script will set this to be the value returned by
|
|
* sizeof(long) which in most systems is the register width.
|
|
*
|
|
* NOTE: the value will never be auto-configured to be less than 8
|
|
* because some system (like sparc for instance) report the sizeof(long)
|
|
* == 4 while the register size is 8 bytes. Certain memory needs to be of
|
|
* the same base as the register size (stack frames, code, etc.). Any
|
|
* ideas how I can determine the register size in a better (and portable)
|
|
* fashion?
|
|
*
|
|
* NOTE: larger the number the more memory may be wasted by certain
|
|
* debugging settings like fence-post checking.
|
|
*/
|
|
#define ALLOCATION_ALIGNMENT 8
|
|
|
|
/*
|
|
* This checks to see if the abort routine does extensive cleaning up
|
|
* before halting a program. If so then it may call malloc functions
|
|
* making the library go recursive. If abort is set to not okay then
|
|
* you should tune the KILL_PROCESS and SIGNAL_INCLUDE options in
|
|
* settings.h if you want the library to be able to dump core.
|
|
*/
|
|
#define ABORT_OKAY 0
|
|
|
|
/*
|
|
* This checks to see if we can include signal.h and get SIGHUP,
|
|
* SIGINT, and SIGTERM for the catch-signals token. With this token,
|
|
* you can have the library do an automatic shutdown if we see the
|
|
* above signals.
|
|
*/
|
|
#define SIGNAL_OKAY 0
|
|
#define RETSIGTYPE void
|
|
|
|
/*
|
|
* This checks to see if we can include return.h and use the assembly
|
|
* macros there to call the callers address for logging. If you do
|
|
* not want this behavior, then set the USE_RETURN_MACROS to 0 in the
|
|
* settings.h file.
|
|
*/
|
|
#define RETURN_MACROS_WORK 0
|
|
|
|
/*
|
|
* Why can't the compiler folks agree about this. I really hate Unix
|
|
* sometimes for its blatant disregard for anything approaching a
|
|
* standard.
|
|
*/
|
|
#define IDENT_WORKS 0
|
|
|
|
/*
|
|
* Which pthread include file to use.
|
|
*/
|
|
#define HAVE_PTHREAD_H 0
|
|
#define HAVE_PTHREADS_H 0
|
|
|
|
/*
|
|
* What pthread functions do we have?
|
|
*/
|
|
#define HAVE_PTHREAD_MUTEX_INIT 0
|
|
#define HAVE_PTHREAD_MUTEX_LOCK 0
|
|
#define HAVE_PTHREAD_MUTEX_UNLOCK 0
|
|
|
|
/*
|
|
* What is the pthread mutex type? Usually (always?) it is
|
|
* pthread_mutex_t.
|
|
*/
|
|
#define THREAD_MUTEX_T pthread_mutex_t
|
|
|
|
/*
|
|
* On some systems, you initialize mutex variables with NULL. Others
|
|
* require various stupid non-portable incantations. The OSF 3.2 guys
|
|
* should be ashamed of themselves. This only is used if the
|
|
* LOCK_THREADS setting is enabled in the settings.h.
|
|
*/
|
|
#define THREAD_LOCK_INIT_VAL 0L
|
|
|
|
/*
|
|
* Under the Cygwin environment, when malloc calls getenv, it core
|
|
* dumps. This is because Cygwin, as far as I know, is loading the
|
|
* shared libraries for the various system functions and goes
|
|
* recursive with a call to getenv. Ugh.
|
|
*
|
|
* So we have to delay the getenv call. This sets when we can do the
|
|
* getenv call so the environmental processing is delayed.
|
|
*/
|
|
#define GETENV_SAFE 0
|
|
|
|
/*
|
|
* See whether support exists for the constructor attribute which
|
|
* allows the library to run code before main() is called. I know
|
|
* that later versions of gcc have support for this and maybe other
|
|
* compilers do as well.
|
|
*/
|
|
#define CONSTRUCTOR_WORKS 0
|
|
|
|
/*
|
|
* See whether support exists for the destructor attribute which
|
|
* allows the library to run code after main() is exited. I know
|
|
* that later versions of gcc have support for this and maybe other
|
|
* compilers do as well.
|
|
*/
|
|
#define DESTRUCTOR_WORKS 0
|
|
|
|
/*
|
|
* See if we have the GetEnvironmentVariableA Cygwin function. This
|
|
* is used as a getenv replacement.
|
|
*/
|
|
#define HAVE_GETENVIRONMENTVARIABLEA 0
|
|
|
|
/*
|
|
* LIBRARY DEFINES:
|
|
*/
|
|
|
|
/*
|
|
* Whether the compiler and OS has standard C headers.
|
|
*/
|
|
#undef STDC_HEADERS
|
|
|
|
/*
|
|
* Some systems have functions which can register routines to be
|
|
* called by exit(3) (or when the program returns from main). This
|
|
* functionality allows the dmalloc_shutdown() routine to be called
|
|
* automatically upon program completion so that the library can log
|
|
* statistics. Use the AUTO_SHUTDOWN define above to disable this.
|
|
* Please send me mail if this functionality exists on your system but
|
|
* in another name.
|
|
*
|
|
* NOTE: If neither is available, take a look at atexit.c in the
|
|
* contrib directory which may provide this useful functionality for
|
|
* your system.
|
|
*/
|
|
#define HAVE_ATEXIT 0
|
|
#define HAVE_ON_EXIT 0
|
|
|
|
/* Is the DMALLOC_SIZE type unsigned? */
|
|
#define DMALLOC_SIZE_UNSIGNED 0
|
|
|
|
/*
|
|
* The dmalloc library provides its own versions of the following
|
|
* functions, or knows how to work around their absence.
|
|
*/
|
|
/* bells and whistles */
|
|
#define HAVE_FORK 0
|
|
#define HAVE_GETHOSTNAME 0
|
|
#define HAVE_GETPID 0
|
|
#define HAVE_GETUID 0
|
|
#define HAVE_TIME 0
|
|
#define HAVE_CTIME 0
|
|
|
|
#define HAVE_VPRINTF 0
|
|
#define HAVE_SNPRINTF 0
|
|
#define HAVE_VSNPRINTF 0
|
|
|
|
#define HAVE_RECALLOC 0
|
|
#define HAVE_MEMALIGN 0
|
|
#define HAVE_VALLOC 0
|
|
|
|
/* various functions for arg checking and/or internal use */
|
|
|
|
#define HAVE_ATOI 0
|
|
#define HAVE_ATOL 0
|
|
#define HAVE_BCMP 0
|
|
#define HAVE_BCOPY 0
|
|
#define HAVE_BZERO 0
|
|
#define HAVE_INDEX 0
|
|
#define HAVE_MEMCCPY 0
|
|
#define HAVE_MEMCHR 0
|
|
#define HAVE_MEMCMP 0
|
|
#define HAVE_MEMCPY 0
|
|
#define HAVE_MEMMOVE 0
|
|
#define HAVE_MEMSET 0
|
|
#define HAVE_RINDEX 0
|
|
#define HAVE_STRCASECMP 0
|
|
#define HAVE_STRCAT 0
|
|
#define HAVE_STRCHR 0
|
|
#define HAVE_STRCMP 0
|
|
#define HAVE_STRCPY 0
|
|
#define HAVE_STRCSPN 0
|
|
#define HAVE_STRDUP 0
|
|
#define HAVE_STRLEN 0
|
|
#define HAVE_STRNCASECMP 0
|
|
#define HAVE_STRNCAT 0
|
|
#define HAVE_STRNCMP 0
|
|
#define HAVE_STRNCPY 0
|
|
#define HAVE_STRNDUP 0
|
|
#define HAVE_STRPBRK 0
|
|
#define HAVE_STRRCHR 0
|
|
#define HAVE_STRSEP 0
|
|
#define HAVE_STRSPN 0
|
|
#define HAVE_STRSTR 0
|
|
#define HAVE_STRTOK 0
|
|
|
|
/* manual settings */
|
|
#include "settings.h"
|
|
|
|
#endif /* ! __CONF_H__ */
|