diff options
author | DJ Delorie <dj@redhat.com> | 2000-11-29 19:17:37 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2000-11-29 19:17:37 +0000 |
commit | 2ea7befd8e4c7e771401059d57452834b6a30da8 (patch) | |
tree | 5fedeed040b3c27b4428d44fc2b88876f61b6a4f /libiberty/xmalloc.c | |
parent | 2c67cb8b7a617d1a9ae00e29fc2983f0a3d3b68c (diff) | |
download | gdb-2ea7befd8e4c7e771401059d57452834b6a30da8.zip gdb-2ea7befd8e4c7e771401059d57452834b6a30da8.tar.gz gdb-2ea7befd8e4c7e771401059d57452834b6a30da8.tar.bz2 |
* aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
(AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
* configure.in: Call AC_C_INLINE and AC_C_CONST. Use three
argument form of AC_DEFINE in dummy definitions block. Use
AC_DEFINE_NOAUTOHEADER for real definitions of things defined
in dummy block. Preload cache variables instead of bypassing
tests, where possible.
* acconfig.h: Removed.
* xmalloc.c (xmalloc_failed): New function, does error
reporting on failed allocation.
(xmalloc, xcalloc, xrealloc): Use it.
Diffstat (limited to 'libiberty/xmalloc.c')
-rw-r--r-- | libiberty/xmalloc.c | 94 |
1 files changed, 31 insertions, 63 deletions
diff --git a/libiberty/xmalloc.c b/libiberty/xmalloc.c index 08c23f8..3ea2d4a 100644 --- a/libiberty/xmalloc.c +++ b/libiberty/xmalloc.c @@ -64,6 +64,31 @@ xmalloc_set_program_name (s) #endif /* HAVE_SBRK */ } +void +xmalloc_failed (size) + size_t size; +{ +#ifdef HAVE_SBRK + extern char **environ; + size_t allocated; + + if (first_break != NULL) + allocated = (char *) sbrk (0) - first_break; + else + allocated = (char *) sbrk (0) - (char *) &environ; + fprintf (stderr, + "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n", + name, *name ? ": " : "", + (unsigned long) size, (unsigned long) allocated); +#else /* HAVE_SBRK */ + fprintf (stderr, + "\n%s%sCannot allocate %lu bytes\n", + name, *name ? ": " : "", + (unsigned long) size); +#endif /* HAVE_SBRK */ + xexit (1); +} + PTR xmalloc (size) size_t size; @@ -74,27 +99,8 @@ xmalloc (size) size = 1; newmem = malloc (size); if (!newmem) - { -#ifdef HAVE_SBRK - extern char **environ; - size_t allocated; - - if (first_break != NULL) - allocated = (char *) sbrk (0) - first_break; - else - allocated = (char *) sbrk (0) - (char *) &environ; - fprintf (stderr, - "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) size, (unsigned long) allocated); -#else /* HAVE_SBRK */ - fprintf (stderr, - "\n%s%sCannot allocate %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) size); -#endif /* HAVE_SBRK */ - xexit (1); - } + xmalloc_failed (size); + return (newmem); } @@ -109,27 +115,8 @@ xcalloc (nelem, elsize) newmem = calloc (nelem, elsize); if (!newmem) - { -#ifdef HAVE_SBRK - extern char **environ; - size_t allocated; - - if (first_break != NULL) - allocated = (char *) sbrk (0) - first_break; - else - allocated = (char *) sbrk (0) - (char *) &environ; - fprintf (stderr, - "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) (nelem * elsize), (unsigned long) allocated); -#else /* HAVE_SBRK */ - fprintf (stderr, - "\n%s%sCannot allocate %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) (nelem * elsize)); -#endif /* HAVE_SBRK */ - xexit (1); - } + xmalloc_failed (nelem * elsize); + return (newmem); } @@ -147,26 +134,7 @@ xrealloc (oldmem, size) else newmem = realloc (oldmem, size); if (!newmem) - { -#ifdef HAVE_SBRK - extern char **environ; - size_t allocated; - - if (first_break != NULL) - allocated = (char *) sbrk (0) - first_break; - else - allocated = (char *) sbrk (0) - (char *) &environ; - fprintf (stderr, - "\n%s%sCannot reallocate %lu bytes after allocating %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) size, (unsigned long) allocated); -#else /* HAVE_SBRK */ - fprintf (stderr, - "\n%s%sCannot reallocate %lu bytes\n", - name, *name ? ": " : "", - (unsigned long) size); -#endif /* HAVE_SBRK */ - xexit (1); - } + xmalloc_failed (size); + return (newmem); } |