aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-11-29 19:17:37 +0000
committerDJ Delorie <dj@redhat.com>2000-11-29 19:17:37 +0000
commit2ea7befd8e4c7e771401059d57452834b6a30da8 (patch)
tree5fedeed040b3c27b4428d44fc2b88876f61b6a4f /libiberty
parent2c67cb8b7a617d1a9ae00e29fc2983f0a3d3b68c (diff)
downloadfsf-binutils-gdb-2ea7befd8e4c7e771401059d57452834b6a30da8.zip
fsf-binutils-gdb-2ea7befd8e4c7e771401059d57452834b6a30da8.tar.gz
fsf-binutils-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')
-rw-r--r--libiberty/ChangeLog14
-rw-r--r--libiberty/acconfig.h11
-rw-r--r--libiberty/aclocal.m451
-rw-r--r--libiberty/configure.in63
-rw-r--r--libiberty/xmalloc.c94
5 files changed, 107 insertions, 126 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 3a735f5..1428d4d 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,17 @@
+2000-11-29 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * 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.
+
2000-11-22 H.J. Lu <hjl@gnu.org>
* cplus-dem.c (main): Handle gnat_demangling.
diff --git a/libiberty/acconfig.h b/libiberty/acconfig.h
deleted file mode 100644
index f7c599d..0000000
--- a/libiberty/acconfig.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Define if you have the sys_errlist variable. */
-#undef HAVE_SYS_ERRLIST
-
-/* Define if you have the sys_nerr variable. */
-#undef HAVE_SYS_NERR
-
-/* Define if you have the sys_siglist variable. */
-#undef HAVE_SYS_SIGLIST
-
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
diff --git a/libiberty/aclocal.m4 b/libiberty/aclocal.m4
index b6c611e..c562835 100644
--- a/libiberty/aclocal.m4
+++ b/libiberty/aclocal.m4
@@ -83,3 +83,54 @@ then AC_DEFINE(NEED_DECLARATION_ERRNO, 1,
[Define if errno must be declared even when <errno.h> is included.])
fi
])
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_PROVIDE([AC_PROG_CC])
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ ac_libiberty_warn_cflags=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+AC_SUBST(ac_libiberty_warn_cflags)
+])
+
+# Work around a bug in autoheader. This can go away when we switch to
+# autoconf >2.50. The use of define instead of AC_DEFUN is
+# deliberate.
+define(AC_DEFINE_NOAUTOHEADER,
+[cat >> confdefs.h <<\EOF
+[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
+EOF
+])
diff --git a/libiberty/configure.in b/libiberty/configure.in
index adfbd5f..6d06c0a 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.in
@@ -36,51 +36,11 @@ dnl to call AC_CHECK_PROG.
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_PROVIDE([AC_PROG_CC])
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- ac_libiberty_warn_cflags=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-AC_SUBST(ac_libiberty_warn_cflags)
-
LIB_AC_PROG_CC
AC_ISC_POSIX
+AC_C_CONST
+AC_C_INLINE
dnl When we start using libtool:
dnl Default to a non shared library. This may be overridden by the
@@ -172,11 +132,11 @@ if test "x" = "y"; then
AC_CHECK_FUNCS(memset putenv random rename rindex sigsetmask strcasecmp)
AC_CHECK_FUNCS(setenv strchr strdup strncasecmp strrchr strstr strtod strtol)
AC_CHECK_FUNCS(strtoul tmpnam vasprintf vfprintf vprintf vsprintf waitpid)
- AC_DEFINE(HAVE_SYS_ERRLIST)
- AC_DEFINE(HAVE_SYS_NERR)
- AC_DEFINE(HAVE_SYS_SIGLIST)
AC_CHECK_FUNCS(getrusage on_exit psignal strerror strsignal sysconf times)
AC_CHECK_FUNCS(sbrk gettimeofday)
+ AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
+ AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.])
+ AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
fi
# For each of these functions, if the host does not provide the
@@ -215,7 +175,7 @@ if test -n "${with_target_subdir}"; then
# dont have to check them here.
# Of the functions in $checkfuncs, newlib only has strerror.
- AC_DEFINE(HAVE_STRERROR)
+ AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
setobjs=yes
@@ -256,7 +216,7 @@ if test -z "${setobjs}"; then
# don't have to check them here.
# Of the functions in $checkfuncs, VxWorks only has strerror.
- AC_DEFINE(HAVE_STRERROR)
+ AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
setobjs=yes
;;
@@ -294,9 +254,8 @@ if test -z "${setobjs}"; then
*-*-mingw32*)
# Under mingw32, sys_nerr and sys_errlist exist, but they are
# macros, so the test below won't find them.
- vars="`echo $vars | sed -e 's/sys_nerr//' -e 's/sys_errlist//'`"
- AC_DEFINE(HAVE_SYS_NERR)
- AC_DEFINE(HAVE_SYS_ERRLIST)
+ libiberty_cv_var_sys_nerr=yes
+ libiberty_cv_var_sys_errlist=yes
;;
*-*-uwin*)
@@ -307,8 +266,8 @@ if test -z "${setobjs}"; then
# Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
# macros (actually, these are imported from a DLL, but the end effect
# is the same), so the test below won't find them.
- AC_DEFINE(HAVE_SYS_NERR)
- AC_DEFINE(HAVE_SYS_ERRLIST)
+ libiberty_cv_var_sys_nerr=yes
+ libiberty_cv_var_sys_errlist=yes
;;
esac
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);
}