aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog19
-rw-r--r--gcc/cccp.c4
-rw-r--r--gcc/collect2.c4
-rw-r--r--gcc/config.in3
-rw-r--r--gcc/config/alpha/xm-linux.h1
-rw-r--r--gcc/config/i386/xm-bsd386.h2
-rw-r--r--gcc/config/i386/xm-cygwin32.h1
-rw-r--r--gcc/config/i386/xm-dos.h3
-rw-r--r--gcc/config/i386/xm-mingw32.h1
-rw-r--r--gcc/config/pa/xm-pa.h3
-rw-r--r--gcc/config/pa/xm-papro.h3
-rw-r--r--gcc/config/rs6000/xm-cygwin32.h1
-rw-r--r--gcc/config/rs6000/xm-sysv4.h3
-rw-r--r--gcc/config/xm-freebsd.h3
-rw-r--r--gcc/config/xm-gnu.h1
-rw-r--r--gcc/config/xm-linux.h3
-rw-r--r--gcc/config/xm-netbsd.h1
-rwxr-xr-xgcc/configure56
-rw-r--r--gcc/configure.in2
-rw-r--r--gcc/cpplib.c4
-rw-r--r--gcc/gcc.c4
-rw-r--r--gcc/protoize.c4
22 files changed, 80 insertions, 46 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b2732b..e7fdc68 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,24 @@
Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
+ * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
+ * collect2.c (sys_errlist): Likewise.
+ * cpplib.c (sys_errlist): Likewise.
+ * gcc.c (sys_errlist): Likewise.
+ * protoize (sys_errlist): Likewise.
+ * configure.in: Check for strerror.
+ * xm-freebsd.h (HAVE_STRERROR): Remove definition.
+ * xm-gnu.h (HAVE_STRERROR): Likewise.
+ * xm-linux.h (HAVE_STRERROR): Likewise.
+ * xm-netbsd.h (HAVE_STRERROR): Likewise.
+ * xm-bsd386.h (HAVE_STRERROR): Likewise.
+ * xm-cygwin32.h (HAVE_STRERROR): Likewise.
+ * xm-dos.h (HAVE_STRERROR): Likewise.
+ * xm-mingw32.h (HAVE_STRERROR): Likewise.
+ * xm-pa.h (HAVE_STRERROR): Likewise.
+ * xm-papro.h (HAVE_STRERROR): Likewise.
+ * xm-sysv4.h (HAVE_STRERROR): Likewise.
+ * configure, config.in: Rebuilt.
+
* Makefile.in: Add several missing "else true" clauses.
* collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
diff --git a/gcc/cccp.c b/gcc/cccp.c
index 0df3737..9a1108e 100644
--- a/gcc/cccp.c
+++ b/gcc/cccp.c
@@ -306,11 +306,7 @@ extern char *version_string;
#ifndef VMS
#ifndef HAVE_STRERROR
extern int sys_nerr;
-#if defined(bsd4_4)
-extern const char *const sys_errlist[];
-#else
extern char *sys_errlist[];
-#endif
#else /* HAVE_STRERROR */
char *strerror ();
#endif
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 13cb593..7c17824 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -45,11 +45,7 @@ extern int errno;
#endif
#ifndef HAVE_STRERROR
-#if defined(bsd4_4)
-extern const char *const sys_errlist[];
-#else
extern char *sys_errlist[];
-#endif
extern int sys_nerr;
#else
char *strerror();
diff --git a/gcc/config.in b/gcc/config.in
index f14c397..3200bbb 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -19,6 +19,9 @@
/* Define if `sys_siglist' is declared by <signal.h>. */
#undef SYS_SIGLIST_DECLARED
+/* Define if you have the strerror function. */
+#undef HAVE_STRERROR
+
/* Define if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
diff --git a/gcc/config/alpha/xm-linux.h b/gcc/config/alpha/xm-linux.h
index 1333d21..ea180df 100644
--- a/gcc/config/alpha/xm-linux.h
+++ b/gcc/config/alpha/xm-linux.h
@@ -1,2 +1 @@
-#define HAVE_STRERROR
#define USE_BFD
diff --git a/gcc/config/i386/xm-bsd386.h b/gcc/config/i386/xm-bsd386.h
index abcce3f..6b8eee7 100644
--- a/gcc/config/i386/xm-bsd386.h
+++ b/gcc/config/i386/xm-bsd386.h
@@ -1,5 +1,3 @@
/* Configuration for GCC for Intel i386 running BSDI's BSD/386 as host. */
#include "i386/xm-i386.h"
-
-#define HAVE_STRERROR
diff --git a/gcc/config/i386/xm-cygwin32.h b/gcc/config/i386/xm-cygwin32.h
index b3f4c04..c45e75c 100644
--- a/gcc/config/i386/xm-cygwin32.h
+++ b/gcc/config/i386/xm-cygwin32.h
@@ -20,7 +20,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define NO_STAB_H
-#define HAVE_STRERROR
#define HAVE_RUSAGE
#define HAVE_FILE_H
#define EXECUTABLE_SUFFIX ".exe"
diff --git a/gcc/config/i386/xm-dos.h b/gcc/config/i386/xm-dos.h
index 1dd0c01..e6e06f4 100644
--- a/gcc/config/i386/xm-dos.h
+++ b/gcc/config/i386/xm-dos.h
@@ -15,6 +15,3 @@
#define MKTEMP_EACH_FILE 1
#define NO_PRECOMPILES 1
-
-/* sys_errlist proto in cccp.c doesn't match djgpp */
-#define HAVE_STRERROR
diff --git a/gcc/config/i386/xm-mingw32.h b/gcc/config/i386/xm-mingw32.h
index 57ff72a..b6bd1c3 100644
--- a/gcc/config/i386/xm-mingw32.h
+++ b/gcc/config/i386/xm-mingw32.h
@@ -20,7 +20,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define NO_STAB_H
-#define HAVE_STRERROR
#define HAVE_RUSAGE
#define HAVE_FILE_H
diff --git a/gcc/config/pa/xm-pa.h b/gcc/config/pa/xm-pa.h
index 3d86e88..0249055 100644
--- a/gcc/config/pa/xm-pa.h
+++ b/gcc/config/pa/xm-pa.h
@@ -50,9 +50,6 @@ extern int errno;
/* Don't try to use sys_siglist. */
#define NO_SYS_SIGLIST
-/* We have strerror, don't try to use sys_errlist. */
-#define HAVE_STRERROR
-
/* 4.3BSD, OSF1 and Lites on the PA are all derived from NET2 or
later code from Berkeley. */
#define __BSD_NET2__
diff --git a/gcc/config/pa/xm-papro.h b/gcc/config/pa/xm-papro.h
index 66ec811..d36e201 100644
--- a/gcc/config/pa/xm-papro.h
+++ b/gcc/config/pa/xm-papro.h
@@ -50,9 +50,6 @@ extern int errno;
/* Don't try to use sys_siglist. */
#define NO_SYS_SIGLIST
-/* We have strerror, don't try to use sys_errlist. */
-#define HAVE_STRERROR
-
/* HP's compiler has problems with enum bitfields. */
#define ONLY_INT_FIELDS
diff --git a/gcc/config/rs6000/xm-cygwin32.h b/gcc/config/rs6000/xm-cygwin32.h
index f7e30a1..158e54e 100644
--- a/gcc/config/rs6000/xm-cygwin32.h
+++ b/gcc/config/rs6000/xm-cygwin32.h
@@ -23,7 +23,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "rs6000/xm-rs6000.h"
-#define HAVE_STRERROR
#define HAVE_RUSAGE
#define HAVE_FILE_H
#define EXECUTABLE_SUFFIX ".exe"
diff --git a/gcc/config/rs6000/xm-sysv4.h b/gcc/config/rs6000/xm-sysv4.h
index 3a13a57..5089c7d 100644
--- a/gcc/config/rs6000/xm-sysv4.h
+++ b/gcc/config/rs6000/xm-sysv4.h
@@ -56,9 +56,6 @@ extern char *alloca ();
#define ONLY_INT_FIELDS
#endif
-/* We have STRERROR */
-#define HAVE_STRERROR
-
#ifdef __PPC__
#ifndef __STDC__
extern char *malloc (), *realloc (), *calloc ();
diff --git a/gcc/config/xm-freebsd.h b/gcc/config/xm-freebsd.h
index ab3aa114..b71ff56 100644
--- a/gcc/config/xm-freebsd.h
+++ b/gcc/config/xm-freebsd.h
@@ -22,6 +22,3 @@ Boston, MA 02111-1307, USA. */
running FreeBSD. This file should not be specified as $xm_file itself;
instead $xm_file should be CPU/xm-freebsd.h, which should include both
CPU/xm-CPU.h and this file xm-freebsd.h. */
-
-/* FreeBSD has strerror. */
-#define HAVE_STRERROR
diff --git a/gcc/config/xm-gnu.h b/gcc/config/xm-gnu.h
index 62debf6..64e8e2f 100644
--- a/gcc/config/xm-gnu.h
+++ b/gcc/config/xm-gnu.h
@@ -23,7 +23,6 @@ Boston, MA 02111-1307, USA. */
instead $xm_file should be CPU/xm-gnu.h, which should include both
CPU/xm-CPU.h and this file xm-gnu.h. */
-#define HAVE_STRERROR /* GNU has strerror. */
#define POSIX /* GNU complies to POSIX.1. */
#ifndef inhibit_libc
diff --git a/gcc/config/xm-linux.h b/gcc/config/xm-linux.h
index 4ccf001..2a2b62b 100644
--- a/gcc/config/xm-linux.h
+++ b/gcc/config/xm-linux.h
@@ -22,9 +22,6 @@ Boston, MA 02111-1307, USA. */
#undef HAVE_VPRINTF
#define HAVE_VPRINTF
-#undef HAVE_STRERROR
-#define HAVE_STRERROR
-
#undef HAVE_POPEN
#define HAVE_POPEN
diff --git a/gcc/config/xm-netbsd.h b/gcc/config/xm-netbsd.h
index 00000ce..099a923 100644
--- a/gcc/config/xm-netbsd.h
+++ b/gcc/config/xm-netbsd.h
@@ -23,5 +23,4 @@ Boston, MA 02111-1307, USA. */
instead $xm_file should be CPU/xm-netbsd.h, which should include both
CPU/xm-CPU.h and this file xm-netbsd.h. */
-#define HAVE_STRERROR
#define HAVE_VPRINTF
diff --git a/gcc/configure b/gcc/configure
index b91c782..0e16d03 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1560,6 +1560,62 @@ EOF
fi
+for ac_func in strerror
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:1567: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1572 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
# File extensions
manext='.1'
objext='.o'
diff --git a/gcc/configure.in b/gcc/configure.in
index cb2d6f1..2611ed8 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -142,6 +142,8 @@ GCC_NEED_DECLARATION(free)
AC_DECL_SYS_SIGLIST
+AC_CHECK_FUNCS(strerror)
+
# File extensions
manext='.1'
objext='.o'
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index 50ef8ca..2f0fff7 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -7483,11 +7483,7 @@ extern int errno;
#ifndef VMS
#ifndef HAVE_STRERROR
extern int sys_nerr;
-#if defined(bsd4_4)
-extern const char *const sys_errlist[];
-#else
extern char *sys_errlist[];
-#endif
#else /* HAVE_STRERROR */
char *strerror ();
#endif
diff --git a/gcc/gcc.c b/gcc/gcc.c
index c09285b..a03f972 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -143,11 +143,7 @@ extern int errno;
#ifndef HAVE_STRERROR
extern int sys_nerr;
-#if defined(bsd4_4)
-extern const char *const sys_errlist[];
-#else
extern char *sys_errlist[];
-#endif
#else
extern char *strerror();
#endif
diff --git a/gcc/protoize.c b/gcc/protoize.c
index bf5cfc7..bd4ac02 100644
--- a/gcc/protoize.c
+++ b/gcc/protoize.c
@@ -89,11 +89,7 @@ extern int errno;
#ifndef HAVE_STRERROR
extern int sys_nerr;
-#if defined(bsd4_4)
-extern const char *const sys_errlist[];
-#else
extern char *sys_errlist[];
-#endif
#else
extern char *strerror();
#endif