* sol-thread.c (ps_pstop, etc): simple test for proc_service.h
version didn't work for sol2.6; pushed it to autoconf. * configure.in (gdb_cv_proc_service_is_old): new test. * acconfig.h (PROC_SERVICE_IS_OLD): new define. * configure, config.in: regenerate.
This commit is contained in:
parent
ad3b8c4a1a
commit
37f58dce03
6 changed files with 124 additions and 47 deletions
|
@ -1,3 +1,11 @@
|
|||
Tue Oct 13 18:56:51 1998 Felix Lee <flee@cygnus.com>
|
||||
|
||||
* sol-thread.c (ps_pstop, etc): simple test for proc_service.h
|
||||
version didn't work for sol2.6; pushed it to autoconf.
|
||||
* configure.in (gdb_cv_proc_service_is_old): new test.
|
||||
* acconfig.h (PROC_SERVICE_IS_OLD): new define.
|
||||
* configure, config.in: regenerate.
|
||||
|
||||
1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)
|
||||
|
||||
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
|
||||
|
|
|
@ -63,3 +63,7 @@
|
|||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define if <proc_service.h> on solaris uses int instead of
|
||||
size_t, and assorted other type changes. */
|
||||
#undef PROC_SERVICE_IS_OLD
|
||||
|
|
|
@ -120,6 +120,10 @@
|
|||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define if <proc_service.h> on solaris uses int instead of
|
||||
size_t, and assorted other type changes. */
|
||||
#undef PROC_SERVICE_IS_OLD
|
||||
|
||||
/* Define if you have the __argz_count function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
|
|
100
gdb/configure
vendored
100
gdb/configure
vendored
|
@ -4462,6 +4462,46 @@ rm -f conftest*
|
|||
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
|
||||
fi
|
||||
fi
|
||||
# Sun randomly tweaked the prototypes in <proc_service.h>
|
||||
# at one point.
|
||||
echo $ac_n "checking if <proc_service.h> is old""... $ac_c" 1>&6
|
||||
echo "configure:4469: checking if <proc_service.h> is old" >&5
|
||||
if eval "test \"`echo '$''{'gdb_cv_proc_service_is_old'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4475 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <proc_service.h>
|
||||
ps_err_e ps_pdwrite
|
||||
(struct ps_prochandle*, psaddr_t, const void*, size_t);
|
||||
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
gdb_cv_proc_service_is_old=no
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
gdb_cv_proc_service_is_old=yes
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$gdb_cv_proc_service_is_old" 1>&6
|
||||
if test $gdb_cv_proc_service_is_old = yes; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define PROC_SERVICE_IS_OLD 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
@ -4763,12 +4803,12 @@ fi
|
|||
|
||||
# In the cygwin32 environment, we need some additional flags.
|
||||
echo $ac_n "checking for cygwin32""... $ac_c" 1>&6
|
||||
echo "configure:4767: checking for cygwin32" >&5
|
||||
echo "configure:4807: checking for cygwin32" >&5
|
||||
if eval "test \"`echo '$''{'gdb_cv_os_cygwin32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4772 "configure"
|
||||
#line 4812 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
|
@ -4827,7 +4867,7 @@ if test "${with_tclconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6
|
||||
echo "configure:4831: checking for Tcl configuration" >&5
|
||||
echo "configure:4871: checking for Tcl configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -4935,7 +4975,7 @@ if test "${with_tkconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6
|
||||
echo "configure:4939: checking for Tk configuration" >&5
|
||||
echo "configure:4979: checking for Tk configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -5031,7 +5071,7 @@ fi
|
|||
|
||||
no_tcl=true
|
||||
echo $ac_n "checking for Tcl private headers. dir=${configdir}""... $ac_c" 1>&6
|
||||
echo "configure:5035: checking for Tcl private headers. dir=${configdir}" >&5
|
||||
echo "configure:5075: checking for Tcl private headers. dir=${configdir}" >&5
|
||||
# Check whether --with-tclinclude or --without-tclinclude was given.
|
||||
if test "${with_tclinclude+set}" = set; then
|
||||
withval="$with_tclinclude"
|
||||
|
@ -5097,17 +5137,17 @@ fi
|
|||
if test x"${ac_cv_c_tclh}" = x ; then
|
||||
ac_safe=`echo "tclInt.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for tclInt.h""... $ac_c" 1>&6
|
||||
echo "configure:5101: checking for tclInt.h" >&5
|
||||
echo "configure:5141: checking for tclInt.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5106 "configure"
|
||||
#line 5146 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <tclInt.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:5111: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:5151: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -5167,7 +5207,7 @@ fi
|
|||
#
|
||||
no_tk=true
|
||||
echo $ac_n "checking for Tk private headers""... $ac_c" 1>&6
|
||||
echo "configure:5171: checking for Tk private headers" >&5
|
||||
echo "configure:5211: checking for Tk private headers" >&5
|
||||
# Check whether --with-tkinclude or --without-tkinclude was given.
|
||||
if test "${with_tkinclude+set}" = set; then
|
||||
withval="$with_tkinclude"
|
||||
|
@ -5233,17 +5273,17 @@ fi
|
|||
if test x"${ac_cv_c_tkh}" = x ; then
|
||||
ac_safe=`echo "tk.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for tk.h""... $ac_c" 1>&6
|
||||
echo "configure:5237: checking for tk.h" >&5
|
||||
echo "configure:5277: checking for tk.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5242 "configure"
|
||||
#line 5282 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <tk.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:5247: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:5287: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -5289,7 +5329,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Itcl private headers. srcdir=${srcdir}""... $ac_c" 1>&6
|
||||
echo "configure:5293: checking for Itcl private headers. srcdir=${srcdir}" >&5
|
||||
echo "configure:5333: checking for Itcl private headers. srcdir=${srcdir}" >&5
|
||||
if test x"${ac_cv_c_itclh}" = x ; then
|
||||
for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ; do
|
||||
if test -f $i/src/itcl.h ; then
|
||||
|
@ -5312,7 +5352,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Tix private headers. srcdir=${srcdir}""... $ac_c" 1>&6
|
||||
echo "configure:5316: checking for Tix private headers. srcdir=${srcdir}" >&5
|
||||
echo "configure:5356: checking for Tix private headers. srcdir=${srcdir}" >&5
|
||||
if test x"${ac_cv_c_tixh}" = x ; then
|
||||
for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do
|
||||
if test -f $i/generic/tix.h ; then
|
||||
|
@ -5406,7 +5446,7 @@ fi
|
|||
# Uses ac_ vars as temps to allow command line to override cache and checks.
|
||||
# --without-x overrides everything else, but does not touch the cache.
|
||||
echo $ac_n "checking for X""... $ac_c" 1>&6
|
||||
echo "configure:5410: checking for X" >&5
|
||||
echo "configure:5450: checking for X" >&5
|
||||
|
||||
# Check whether --with-x or --without-x was given.
|
||||
if test "${with_x+set}" = set; then
|
||||
|
@ -5468,12 +5508,12 @@ if test "$ac_x_includes" = NO; then
|
|||
|
||||
# First, try using that file with no special directory specified.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5472 "configure"
|
||||
#line 5512 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$x_direct_test_include>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:5477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:5517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -5542,14 +5582,14 @@ if test "$ac_x_libraries" = NO; then
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-l$x_direct_test_library $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5546 "configure"
|
||||
#line 5586 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
${x_direct_test_function}()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
LIBS="$ac_save_LIBS"
|
||||
# We can link X programs with no special library path.
|
||||
|
@ -5670,7 +5710,7 @@ fi
|
|||
# end-sanitize-sky
|
||||
|
||||
echo $ac_n "checking for wctype in -lw""... $ac_c" 1>&6
|
||||
echo "configure:5674: checking for wctype in -lw" >&5
|
||||
echo "configure:5714: checking for wctype in -lw" >&5
|
||||
ac_lib_var=`echo w'_'wctype | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -5678,7 +5718,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lw $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5682 "configure"
|
||||
#line 5722 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -5689,7 +5729,7 @@ int main() {
|
|||
wctype()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -5853,7 +5893,7 @@ links="${links} nm.h"
|
|||
fi
|
||||
# start-sanitize-gdbtk
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:5857: checking whether ln -s works" >&5
|
||||
echo "configure:5897: checking whether ln -s works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -5888,19 +5928,19 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Cygwin32 environment""... $ac_c" 1>&6
|
||||
echo "configure:5892: checking for Cygwin32 environment" >&5
|
||||
echo "configure:5932: checking for Cygwin32 environment" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_cygwin32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5897 "configure"
|
||||
#line 5937 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return __CYGWIN32__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:5944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
am_cv_cygwin32=yes
|
||||
else
|
||||
|
@ -5917,19 +5957,19 @@ echo "$ac_t""$am_cv_cygwin32" 1>&6
|
|||
CYGWIN32=
|
||||
test "$am_cv_cygwin32" = yes && CYGWIN32=yes
|
||||
echo $ac_n "checking for Mingw32 environment""... $ac_c" 1>&6
|
||||
echo "configure:5921: checking for Mingw32 environment" >&5
|
||||
echo "configure:5961: checking for Mingw32 environment" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_mingw32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5926 "configure"
|
||||
#line 5966 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return __MINGW32__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:5973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
am_cv_mingw32=yes
|
||||
else
|
||||
|
@ -5948,7 +5988,7 @@ test "$am_cv_mingw32" = yes && MINGW32=yes
|
|||
|
||||
|
||||
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
|
||||
echo "configure:5952: checking for executable suffix" >&5
|
||||
echo "configure:5992: checking for executable suffix" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_exeext'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
|
|
@ -248,6 +248,21 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
|
|||
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
|
||||
fi
|
||||
fi
|
||||
# Sun randomly tweaked the prototypes in <proc_service.h>
|
||||
# at one point.
|
||||
AC_MSG_CHECKING(if <proc_service.h> is old)
|
||||
AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
|
||||
AC_TRY_COMPILE([
|
||||
#include <proc_service.h>
|
||||
ps_err_e ps_pdwrite
|
||||
(struct ps_prochandle*, psaddr_t, const void*, size_t);
|
||||
],, gdb_cv_proc_service_is_old=no,
|
||||
gdb_cv_proc_service_is_old=yes)
|
||||
])
|
||||
AC_MSG_RESULT($gdb_cv_proc_service_is_old)
|
||||
if test $gdb_cv_proc_service_is_old = yes; then
|
||||
AC_DEFINE(PROC_SERVICE_IS_OLD)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
|
|
@ -956,28 +956,34 @@ sol_thread_stop ()
|
|||
/* These routines implement the lower half of the thread_db interface. Ie: the
|
||||
ps_* routines. */
|
||||
|
||||
/* Old versions of proc_service.h (1.3 94/10/27) have
|
||||
prototypes that look like
|
||||
(const struct ps_prochandle *, ...)
|
||||
while newer versions use
|
||||
(struct ps_prochandle *, ...)
|
||||
and other such minor variations.
|
||||
/* Various versions of <proc_service.h> have slightly
|
||||
different function prototypes. In particular, we have
|
||||
|
||||
Someday, we might need to discover this in configure.in,
|
||||
but the #ifdef below seems to be sufficient for now. */
|
||||
NEWER OLDER
|
||||
struct ps_prochandle * const struct ps_prochandle *
|
||||
void* char*
|
||||
const void* char*
|
||||
int size_t
|
||||
|
||||
#ifdef PS_OBJ_EXEC
|
||||
typedef struct ps_prochandle* gdb_ps_prochandle_t;
|
||||
typedef void* gdb_ps_read_buf_t;
|
||||
typedef const void* gdb_ps_write_buf_t;
|
||||
typedef size_t gdb_ps_size_t;
|
||||
#else
|
||||
typedef const struct ps_prochandle* gdb_ps_prochandle_t;
|
||||
typedef char* gdb_ps_read_buf_t;
|
||||
typedef char* gdb_ps_write_buf_t;
|
||||
Which one you have depends on solaris version and what
|
||||
patches you've applied. On the theory that there are
|
||||
only two major variants, we have configure check the
|
||||
prototype of ps_pdwrite (), and use that info to make
|
||||
appropriate typedefs here. */
|
||||
|
||||
#ifdef PROC_SERVICE_IS_OLD
|
||||
typedef const struct ps_prochandle * gdb_ps_prochandle_t;
|
||||
typedef char * gdb_ps_read_buf_t;
|
||||
typedef char * gdb_ps_write_buf_t;
|
||||
typedef int gdb_ps_size_t;
|
||||
#else
|
||||
typedef struct ps_prochandle * gdb_ps_prochandle_t;
|
||||
typedef void * gdb_ps_read_buf_t;
|
||||
typedef const void * gdb_ps_write_buf_t;
|
||||
typedef size_t gdb_ps_size_t;
|
||||
#endif
|
||||
|
||||
|
||||
/* The next four routines are called by thread_db to tell us to stop and stop
|
||||
a particular process or lwp. Since GDB ensures that these are all stopped
|
||||
by the time we call anything in thread_db, these routines need to do
|
||||
|
|
Loading…
Reference in a new issue