* xmalloc.c: Control all uses of SBRK with a single define,

USE_SBRK.  Don't define it if __INTERIX.
This commit is contained in:
Ian Lance Taylor 1999-08-05 16:22:42 +00:00
parent a7e78dae79
commit 1198f921ae
2 changed files with 23 additions and 12 deletions

View File

@ -1,3 +1,8 @@
1999-08-05 Ian Lance Taylor <ian@zembu.com>
* xmalloc.c: Control all uses of SBRK with a single define,
USE_SBRK. Don't define it if __INTERIX.
1999-08-03 Ian Lance Taylor <ian@zembu.com>
* floatformat.c: Add casts to avoid signed/unsigned warnings.

View File

@ -1,5 +1,5 @@
/* memory allocation routines with error checking.
Copyright 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
Copyright 1989, 90, 91, 92, 93, 94, 1999 Free Software Foundation, Inc.
This file is part of the libiberty library.
Libiberty is free software; you can redistribute it and/or
@ -47,22 +47,28 @@ static const char *name = "";
#define __CYGWIN__ 1
#endif
#if ! defined (_WIN32) || defined (__CYGWIN__) || defined (__UWIN__)
/* On Unix systems we use sbrk to determine how much memory has been
allocated. */
#undef USE_SBRK
#if (! defined (_WIN32) && ! defined (__INTERIX)) || defined (__CYGWIN__) || defined (__UWIN__)
#define USE_SBRK
#endif
#ifdef USE_SBRK
/* The initial sbrk, set when the program name is set. Not used for win32
ports other than cygwin32. */
static char *first_break = NULL;
#endif /* ! _WIN32 || __CYGWIN __ || __UWIN__ */
#endif
void
xmalloc_set_program_name (s)
const char *s;
{
name = s;
#if ! defined (_WIN32) || defined (__CYGWIN__) || defined (__UWIN__)
/* Win32 ports other than cygwin32 don't have brk() */
#ifdef USE_SBRK
if (first_break == NULL)
first_break = (char *) sbrk (0);
#endif /* ! _WIN32 || __CYGWIN __ || __UWIN__ */
#endif
}
PTR
@ -76,7 +82,7 @@ xmalloc (size)
newmem = malloc (size);
if (!newmem)
{
#if ! defined (_WIN32) || defined (__CYGWIN__) || defined (__UWIN__)
#ifdef USE_SBRK
extern char **environ;
size_t allocated;
@ -93,7 +99,7 @@ xmalloc (size)
"\n%s%sCan not allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* ! _WIN32 || __CYGWIN __ || __UWIN__ */
#endif /* ! USE_SBRK */
xexit (1);
}
return (newmem);
@ -111,7 +117,7 @@ xcalloc (nelem, elsize)
newmem = calloc (nelem, elsize);
if (!newmem)
{
#if ! defined (_WIN32) || defined (__CYGWIN__)
#ifdef USE_SBRK
extern char **environ;
size_t allocated;
@ -128,7 +134,7 @@ xcalloc (nelem, elsize)
"\n%s%sCan not allocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) (nelem * elsize));
#endif /* ! _WIN32 || __CYGWIN __ */
#endif /* ! USE_SBRK */
xexit (1);
}
return (newmem);
@ -149,7 +155,7 @@ xrealloc (oldmem, size)
newmem = realloc (oldmem, size);
if (!newmem)
{
#ifndef __MINGW32__
#ifdef USE_SBRK
extern char **environ;
size_t allocated;
@ -166,7 +172,7 @@ xrealloc (oldmem, size)
"\n%s%sCan not reallocate %lu bytes\n",
name, *name ? ": " : "",
(unsigned long) size);
#endif /* __MINGW32__ */
#endif /* ! USE_SBRK */
xexit (1);
}
return (newmem);