diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-27 16:20:47 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-27 16:20:47 +0000 |
commit | 589807f44cb355bd03e05c2bf7db63c1ad901b64 (patch) | |
tree | d89514234626fcbffa26732a65a9f1ddd47c0a1e /libmudflap | |
parent | 714384958d63c2b678e6a685547d58c474b13ec0 (diff) | |
download | gcc-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/ChangeLog | 11 | ||||
-rw-r--r-- | libmudflap/config.h.in | 3 | ||||
-rwxr-xr-x | libmudflap/configure | 54 | ||||
-rw-r--r-- | libmudflap/configure.ac | 4 | ||||
-rw-r--r-- | libmudflap/mf-hooks2.c | 9 | ||||
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/pass-stratcliff.c | 6 |
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) |