include alloca.h if available.
On LynxOS, alloca is defined in allocal.h. This fixes one warning that occurs when building GDBserver for LynxOS. gdb/gdbserver/ChangeLog: * configure.ac: Add configure check for alloca. * configure, config.in: Regenerate. * server.h: Include alloca.h if it exists. * gdbreplay.c: Include alloca.h if it exists.
This commit is contained in:
parent
86c80b5af0
commit
a1723c35ac
6 changed files with 229 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2010-09-01 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Add configure check for alloca.
|
||||
* configure, config.in: Regenerate.
|
||||
* server.h: Include alloca.h if it exists.
|
||||
* gdbreplay.c: Include alloca.h if it exists.
|
||||
|
||||
2010-08-31 Sami Wagiaalla <swagiaal@redhat.com>
|
||||
|
||||
* symfile.c (reread_symbols): Use psymbol_bcache_free, and
|
||||
|
|
|
@ -1,5 +1,20 @@
|
|||
/* config.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
||||
*/
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||
#undef HAVE_ARPA_INET_H
|
||||
|
||||
|
@ -184,6 +199,14 @@
|
|||
/* Bug reporting address */
|
||||
#undef REPORT_BUGS_TO
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at runtime.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
|
|
191
gdb/gdbserver/configure
vendored
191
gdb/gdbserver/configure
vendored
|
@ -606,6 +606,7 @@ WARN_CFLAGS
|
|||
ustinc
|
||||
ustlibs
|
||||
LIBOBJS
|
||||
ALLOCA
|
||||
INSTALL_DATA
|
||||
INSTALL_SCRIPT
|
||||
INSTALL_PROGRAM
|
||||
|
@ -3796,6 +3797,196 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
|||
fi
|
||||
|
||||
|
||||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
|
||||
$as_echo_n "checking for working alloca.h... " >&6; }
|
||||
if test "${ac_cv_working_alloca_h+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <alloca.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *p = (char *) alloca (2 * sizeof (int));
|
||||
if (p) return 0;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_working_alloca_h=yes
|
||||
else
|
||||
ac_cv_working_alloca_h=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
|
||||
$as_echo "$ac_cv_working_alloca_h" >&6; }
|
||||
if test $ac_cv_working_alloca_h = yes; then
|
||||
|
||||
$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
|
||||
$as_echo_n "checking for alloca... " >&6; }
|
||||
if test "${ac_cv_func_alloca_works+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#ifdef __GNUC__
|
||||
# define alloca __builtin_alloca
|
||||
#else
|
||||
# ifdef _MSC_VER
|
||||
# include <malloc.h>
|
||||
# define alloca _alloca
|
||||
# else
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
# else
|
||||
# ifdef _AIX
|
||||
#pragma alloca
|
||||
# else
|
||||
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||||
char *alloca ();
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *p = (char *) alloca (1);
|
||||
if (p) return 0;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_func_alloca_works=yes
|
||||
else
|
||||
ac_cv_func_alloca_works=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
|
||||
$as_echo "$ac_cv_func_alloca_works" >&6; }
|
||||
|
||||
if test $ac_cv_func_alloca_works = yes; then
|
||||
|
||||
$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
|
||||
|
||||
else
|
||||
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
|
||||
# that cause trouble. Some versions do not even contain alloca or
|
||||
# contain a buggy version. If you still want to use their alloca,
|
||||
# use ar to extract alloca.o from them instead of compiling alloca.c.
|
||||
|
||||
ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
|
||||
|
||||
$as_echo "#define C_ALLOCA 1" >>confdefs.h
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
|
||||
$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
|
||||
if test "${ac_cv_os_cray+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#if defined CRAY && ! defined CRAY2
|
||||
webecray
|
||||
#else
|
||||
wenotbecray
|
||||
#endif
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "webecray" >/dev/null 2>&1; then :
|
||||
ac_cv_os_cray=yes
|
||||
else
|
||||
ac_cv_os_cray=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
|
||||
$as_echo "$ac_cv_os_cray" >&6; }
|
||||
if test $ac_cv_os_cray = yes; then
|
||||
for ac_func in _getb67 GETB67 getb67; do
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
eval as_val=\$$as_ac_var
|
||||
if test "x$as_val" = x""yes; then :
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define CRAY_STACKSEG_END $ac_func
|
||||
_ACEOF
|
||||
|
||||
break
|
||||
fi
|
||||
|
||||
done
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
|
||||
$as_echo_n "checking stack direction for C alloca... " >&6; }
|
||||
if test "${ac_cv_c_stack_direction+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then :
|
||||
ac_cv_c_stack_direction=0
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
int
|
||||
find_stack_direction ()
|
||||
{
|
||||
static char *addr = 0;
|
||||
auto char dummy;
|
||||
if (addr == 0)
|
||||
{
|
||||
addr = &dummy;
|
||||
return find_stack_direction ();
|
||||
}
|
||||
else
|
||||
return (&dummy > addr) ? 1 : -1;
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return find_stack_direction () < 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
ac_cv_c_stack_direction=1
|
||||
else
|
||||
ac_cv_c_stack_direction=-1
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
|
||||
$as_echo "$ac_cv_c_stack_direction" >&6; }
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define STACK_DIRECTION $ac_cv_c_stack_direction
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
for ac_header in sgtty.h termio.h termios.h sys/reg.h string.h proc_service.h sys/procfs.h thread_db.h linux/elf.h stdlib.h unistd.h errno.h fcntl.h signal.h sys/file.h malloc.h sys/ioctl.h netinet/in.h sys/socket.h netdb.h netinet/tcp.h arpa/inet.h sys/wait.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
|
|
|
@ -36,6 +36,7 @@ AC_ARG_PROGRAM
|
|||
|
||||
AC_HEADER_STDC
|
||||
|
||||
AC_FUNC_ALLOCA
|
||||
AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
|
||||
proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
|
||||
stdlib.h unistd.h dnl
|
||||
|
|
|
@ -57,10 +57,12 @@
|
|||
#if HAVE_MALLOC_H
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
|
||||
#if USE_WIN32API
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
#if HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_SOCKLEN_T
|
||||
typedef int socklen_t;
|
||||
|
|
|
@ -38,6 +38,10 @@
|
|||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_STRERROR
|
||||
#ifndef strerror
|
||||
extern char *strerror (int); /* X3.159-1989 4.11.6.2 */
|
||||
|
|
Loading…
Reference in a new issue