Commit 0d72f628 by Rainer Orth Committed by Rainer Orth

re PR libmudflap/38738 (libmudflap could be enabled for Solaris when using GNU ld)

	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.

From-SVN: r175537
parent bebd619e
2011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libmudflap/38738
* config/sol2.h [!USE_GLD] (MFLIB_SPEC): Define.
2011-06-27 Nick Clifton <nickc@redhat.com>
* config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to
......
......@@ -187,6 +187,11 @@ along with GCC; see the file COPYING3. If not see
#endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */
#endif
#ifndef USE_GLD
/* The default MFLIB_SPEC is GNU ld specific. */
#define MFLIB_SPEC ""
#endif
/* collect2.c can only parse GNU nm -n output. Solaris nm needs -png to
produce the same format. */
#define NM_FLAGS "-png"
......
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.
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
/* 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
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment