summaryrefslogtreecommitdiff
path: root/libmudflap
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-27 16:20:47 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-27 16:20:47 +0000
commit589807f44cb355bd03e05c2bf7db63c1ad901b64 (patch)
treed89514234626fcbffa26732a65a9f1ddd47c0a1e /libmudflap
parent714384958d63c2b678e6a685547d58c474b13ec0 (diff)
downloadgcc-589807f44cb355bd03e05c2bf7db63c1ad901b64.tar.gz
gcc:
PR libmudflap/38738 * config/sol2.h [!USE_GLD] (MFLIB_SPEC): Define. libmudflap: PR libmudflap/38738 * configure.ac: Check for sys/mnttab.h. Check for library containing connect. * configure: Regenerate. * config.h.in: Regenerate. * mf-hooks2.c [HAVE_SYS_MNTTAB_H]: Include <sys/mnttab.h>. * testsuite/libmudflap.c/pass-stratcliff.c (main) [__sun__ && __svr4__]: Disable rawmemchr, stpcpy, mempcpy tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175537 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libmudflap')
-rw-r--r--libmudflap/ChangeLog11
-rw-r--r--libmudflap/config.h.in3
-rwxr-xr-xlibmudflap/configure54
-rw-r--r--libmudflap/configure.ac4
-rw-r--r--libmudflap/mf-hooks2.c9
-rw-r--r--libmudflap/testsuite/libmudflap.c/pass-stratcliff.c6
6 files changed, 81 insertions, 6 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 920c73ec361..f44f0ed18fe 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,14 @@
+2011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/38738
+ * configure.ac: Check for sys/mnttab.h.
+ Check for library containing connect.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * mf-hooks2.c [HAVE_SYS_MNTTAB_H]: Include <sys/mnttab.h>.
+ * testsuite/libmudflap.c/pass-stratcliff.c (main) [__sun__ &&
+ __svr4__]: Disable rawmemchr, stpcpy, mempcpy tests.
+
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
diff --git a/libmudflap/config.h.in b/libmudflap/config.h.in
index d20c42bbc37..16afd05efcd 100644
--- a/libmudflap/config.h.in
+++ b/libmudflap/config.h.in
@@ -210,6 +210,9 @@
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
+/* Define to 1 if you have the <sys/mnttab.h> header file. */
+#undef HAVE_SYS_MNTTAB_H
+
/* Define to 1 if you have the <sys/sem.h> header file. */
#undef HAVE_SYS_SEM_H
diff --git a/libmudflap/configure b/libmudflap/configure
index 11bcca18439..ebf8f2d9ce4 100755
--- a/libmudflap/configure
+++ b/libmudflap/configure
@@ -4297,7 +4297,7 @@ done
for ac_header in stdint.h execinfo.h signal.h dlfcn.h dirent.h pwd.h grp.h \
netdb.h sys/ipc.h sys/sem.h sys/shm.h sys/wait.h ctype.h mntent.h \
- sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h
+ sys/mnttab.h sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -11063,6 +11063,58 @@ _ACEOF
fi
+ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_socket_connect=yes
+else
+ ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSOCKET 1
+_ACEOF
+
+ LIBS="-lsocket $LIBS"
+
+fi
+
+fi
+
+
# Calculate toolexeclibdir
# Also toolexecdir, though it's only used in toolexeclibdir
case ${version_specific_libs} in
diff --git a/libmudflap/configure.ac b/libmudflap/configure.ac
index 9b9ea20321b..b61b56f2708 100644
--- a/libmudflap/configure.ac
+++ b/libmudflap/configure.ac
@@ -62,7 +62,7 @@ enable_shared=no])
AC_CHECK_HEADERS(stdint.h execinfo.h signal.h dlfcn.h dirent.h pwd.h grp.h \
netdb.h sys/ipc.h sys/sem.h sys/shm.h sys/wait.h ctype.h mntent.h \
- sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h)
+ sys/mnttab.h sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h)
AC_CHECK_FUNCS(backtrace backtrace_symbols gettimeofday signal)
AC_CHECK_FUNCS(fopen64 fseeko64 ftello64 stat64 freopen64)
@@ -147,6 +147,8 @@ AC_SUBST(build_libmudflapth)
AC_CHECK_LIB(dl, dlsym)
+AC_CHECK_FUNC(connect,, AC_CHECK_LIB(socket, connect))
+
# Calculate toolexeclibdir
# Also toolexecdir, though it's only used in toolexeclibdir
case ${version_specific_libs} in
diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c
index 5649e1c5882..77d58131bfa 100644
--- a/libmudflap/mf-hooks2.c
+++ b/libmudflap/mf-hooks2.c
@@ -1,5 +1,5 @@
/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
- Copyright (C) 2002, 2003, 2004, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2009, 2011 Free Software Foundation, Inc.
Contributed by Frank Ch. Eigler <fche@redhat.com>
and Graydon Hoare <graydon@redhat.com>
@@ -90,6 +90,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifdef HAVE_MNTENT_H
#include <mntent.h>
#endif
+#ifdef HAVE_SYS_MNTTAB_H
+#include <sys/mnttab.h>
+#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
@@ -2063,6 +2066,7 @@ WRAPPER2(const char *, gai_strerror, int errcode)
#ifdef HAVE_GETMNTENT
+#ifdef HAVE_MNTENT_H
WRAPPER2(struct mntent *, getmntent, FILE *filep)
{
struct mntent *m;
@@ -2097,6 +2101,9 @@ WRAPPER2(struct mntent *, getmntent, FILE *filep)
return m;
}
+#elif defined HAVE_SYS_MNTTAB_H
+/* FIXME: Implement. */
+#endif
#endif
diff --git a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
index baaf8a9f353..985c796e13c 100644
--- a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
+++ b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
@@ -153,7 +153,7 @@ main (int argc, char *argv[])
}
}
-#ifndef __FreeBSD__
+#if !defined __FreeBSD__ && !(defined __sun__ && defined __svr4__)
/* rawmemchr test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
@@ -250,7 +250,7 @@ main (int argc, char *argv[])
}
}
-#ifndef __FreeBSD__
+#ifndef __FreeBSD__ && !(defined __sun__ && defined __svr4__)
/* stpcpy test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
@@ -302,7 +302,7 @@ main (int argc, char *argv[])
result = 1;
}
-#ifndef __FreeBSD__
+#if !defined __FreeBSD__ && !(defined __sun__ && defined __svr4__)
/* mempcpy test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
for (inner = 0; inner < size - outer; ++inner)