]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Remove support for Solaris < 10 (PR gdb/22185)
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 26 Sep 2017 13:19:10 +0000 (15:19 +0200)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 26 Sep 2017 13:19:10 +0000 (15:19 +0200)
Given that GCC has obsoleted/removed support for Solaris 9 in GCC 4.9/5 in 2013:

    https://gcc.gnu.org/gcc-4.9/changes.html
    https://gcc.gnu.org/ml/gcc-patches/2013-05/msg00728.html

and the last gdb version that can be compiled with gcc 4.9 is 7.12.1 only when
configured with --disable-build-with-cxx, it's time to obsolete/remove support
for Solaris < 10.

This patch does this, simplifying configure.nat along the way (only a single
sol2 configuration with variants for i386 and sparc).

Some configure checks for older Solaris versions can go, too, and the check
for libthread_db.so.1 removed:

* Since Solaris 10, dlopen has moved to libc and libdl.so is just a
  filter on ld.so.1, so no need to check.

* $RDYNAMIC is already handled above (and is a no-op with Solaris ld
  anyway).

Both proc-service.c and sol-thread.c lose support for (Solaris-only)
PROC_SERVICE_IS_OLD.

The attached revised patch has been tested on sparcv9-sun-solaris2.10,
sparcv9-sun-solaris2.11.4, amd64-pc-solaris2.10, amd64-pc-solaris2.11.4,
and x86_64-pc-linux-gnu.

I've also started an i386-pc-solaris2.9 build to check that it really
stops as expected.

PR gdb/22185
* configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
obsolete.
Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
Remove i386sol2 support.
* configure.nat <i386sol2>: Remove.
<sol2-64>: Fold into ...
<sol2>: ... this.
Move common settings to default section.
Add sol-thread.o.
* configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
x86_64-*-solaris2.1[0-9]*>: Rename to ...
<i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
<i[34567]86-*-solaris*>: Remove.
<sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.

* configure.ac: Remove wctype in libw check.
(_MSE_INT_H): Don't define on Solaris 7-9.
<solaris*>: Remove libthread_db.so.1 check.
* configure: Regenerate.
* config.in: Regenerate.

* proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
(gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
(gdb_ps_size_t): Remove.
Use base types in users.
* sol-thread.c: Likewise, also for gdb_ps_addr_t.

* NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.

gdb/ChangeLog
gdb/NEWS
gdb/config.in
gdb/configure
gdb/configure.ac
gdb/configure.host
gdb/configure.nat
gdb/configure.tgt
gdb/proc-service.c
gdb/sol-thread.c

index 89c960a32d82f285c59de9f218903a58b75619ed..2c825efb91719f89127013ee48a4904b84c451a6 100644 (file)
@@ -1,3 +1,35 @@
+2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR gdb/22185
+       * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
+       obsolete.
+       Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
+       Remove i386sol2 support.
+       * configure.nat <i386sol2>: Remove.
+       <sol2-64>: Fold into ...
+       <sol2>: ... this.
+       Move common settings to default section.
+       Add sol-thread.o.
+       * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
+       x86_64-*-solaris2.1[0-9]*>: Rename to ...
+       <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
+       <i[34567]86-*-solaris*>: Remove.
+       <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
+
+       * configure.ac: Remove wctype in libw check.
+       (_MSE_INT_H): Don't define on Solaris 7-9.
+       <solaris*>: Remove libthread_db.so.1 check.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
+       (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
+       (gdb_ps_size_t): Remove.
+       Use base types in users.
+       * sol-thread.c: Likewise, also for gdb_ps_addr_t.
+
+       * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
+
 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR build/22206
index 9246659bfb98c1bba82cf154601f0dfb84bdbe33..81c21b82cc13af7f83aec1a26ac5404e3c305055 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -118,6 +118,10 @@ FreeBSD/aarch64                    aarch64*-*-freebsd*
 
 FreeBSD/aarch64                        aarch64*-*-freebsd*
 
+* Removed targets and native configurations
+
+Solaris 2.0-9                  i?86-*-solaris2.[0-9], sparc*-*-solaris2.[0-9]
+
 *** Changes in GDB 8.0
 
 * GDB now supports access to the PKU register on GNU/Linux. The register is
index 4a40956ae066ac160968d453b75f815be274894a..9fa90afcf835ea0c724329babfc32a1e73b8d85a 100644 (file)
 /* Define if you have the babeltrace library. */
 #undef HAVE_LIBBABELTRACE
 
-/* Define to 1 if you have the `dl' library (-ldl). */
-#undef HAVE_LIBDL
-
 /* Define if you have the expat library. */
 #undef HAVE_LIBEXPAT
 
 /* Define to 1 if you have the <libunwind-ia64.h> header file. */
 #undef HAVE_LIBUNWIND_IA64_H
 
-/* Define to 1 if you have the `w' library (-lw). */
-#undef HAVE_LIBW
-
 /* Define to 1 if you have the <linux/perf_event.h> header file. */
 #undef HAVE_LINUX_PERF_EVENT_H
 
 /* Define to 1 if you have the <thread_db.h> header file. */
 #undef HAVE_THREAD_DB_H
 
-/* Define if using Solaris thread debugging. */
-#undef HAVE_THREAD_DB_LIB
-
 /* Define to 1 if you have the `ttrace' function. */
 #undef HAVE_TTRACE
 
 /* Define to 1 if the "%ll" format works to print long longs. */
 #undef PRINTF_HAS_LONG_LONG
 
-/* Define if <proc_service.h> on solaris uses int instead of size_t, and
-   assorted other type changes. */
-#undef PROC_SERVICE_IS_OLD
-
 /* Define to the type of arg 1 for ptrace. */
 #undef PTRACE_TYPE_ARG1
 
 /* Define to 1 if on MINIX. */
 #undef _MINIX
 
-/* Define to 1 to avoid a clash between <widec.h> and <wchar.h> on Solaris
-   2.[789] when using GCC. */
-#undef _MSE_INT_H
-
 /* Define to 2 if the system does not provide POSIX.1 features except with
    this defined. */
 #undef _POSIX_1_SOURCE
index 61e8fa84934764ee5f2b93128b266e72cf94f181..e4bde75de2b20fbe23dbbd6fa3b0829176801907 100755 (executable)
@@ -7723,62 +7723,6 @@ _ACEOF
 fi
 
 
-# We need to link with -lw to get `wctype' on Solaris before Solaris
-# 2.6.  Solaris 2.6 and beyond have this function in libc, and have a
-# libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
-# is known to have this problem).  Therefore we avoid libw if we can.
-ac_fn_c_check_func "$LINENO" "wctype" "ac_cv_func_wctype"
-if test "x$ac_cv_func_wctype" = x""yes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype in -lw" >&5
-$as_echo_n "checking for wctype in -lw... " >&6; }
-if test "${ac_cv_lib_w_wctype+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lw  $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 wctype ();
-int
-main ()
-{
-return wctype ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_w_wctype=yes
-else
-  ac_cv_lib_w_wctype=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_w_wctype" >&5
-$as_echo "$ac_cv_lib_w_wctype" >&6; }
-if test "x$ac_cv_lib_w_wctype" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBW 1
-_ACEOF
-
-  LIBS="-lw $LIBS"
-
-fi
-
-fi
-
-
 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
 $as_echo_n "checking for library containing gethostbyname... " >&6; }
 done
 
 
-# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
-# between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
-# think that we don't have <curses.h> if we're using GCC.
-case $host_os in
-  solaris2.[789])
-    if test "$GCC" = yes; then
-
-$as_echo "#define _MSE_INT_H 1" >>confdefs.h
-
-    fi ;;
-esac
 for ac_header in curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -14681,111 +14614,6 @@ $as_echo "$found" >&6; }
 
 if test ${build} = ${host} -a ${host} = ${target} ; then
    case ${host_os} in
-   solaris*)
-      # See if thread_db library is around for Solaris thread debugging.
-      # Note that we must explicitly test for version 1 of the library
-      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
-      # the same API.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris thread debugging library" >&5
-$as_echo_n "checking for Solaris thread debugging library... " >&6; }
-      if test -f /usr/lib/libthread_db.so.1 ; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_THREAD_DB_LIB 1" >>confdefs.h
-
-         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
-         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $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 dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=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_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
-  LIBS="-ldl $LIBS"
-
-fi
-
-        CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC"
-        # Sun randomly tweaked the prototypes in <proc_service.h>
-        # at one point.
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if <proc_service.h> is old" >&5
-$as_echo_n "checking if <proc_service.h> is old... " >&6; }
-        if test "${gdb_cv_proc_service_is_old+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-               #include <proc_service.h>
-               ps_err_e ps_pdwrite
-                   (struct ps_prochandle*, psaddr_t, const void*, size_t);
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gdb_cv_proc_service_is_old=no
-else
-  gdb_cv_proc_service_is_old=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_proc_service_is_old" >&5
-$as_echo "$gdb_cv_proc_service_is_old" >&6; }
-        if test $gdb_cv_proc_service_is_old = yes; then
-
-$as_echo "#define PROC_SERVICE_IS_OLD 1" >>confdefs.h
-
-        fi
-      else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-      fi
-      ;;
    aix*)
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AiX thread debugging library" >&5
 $as_echo_n "checking for AiX thread debugging library... " >&6; }
index b4d7a87701f89b179ebafc5652e9542c1247cdd8..2e4ccb6b1daf5907ebfe364dc78af5f9458f42c1 100644 (file)
@@ -508,13 +508,6 @@ esac
 # We might need to link with -lm; most simulators need it.
 AC_CHECK_LIB(m, main)
 
-# We need to link with -lw to get `wctype' on Solaris before Solaris
-# 2.6.  Solaris 2.6 and beyond have this function in libc, and have a
-# libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
-# is known to have this problem).  Therefore we avoid libw if we can.
-AC_CHECK_FUNC(wctype, [],
-  [AC_CHECK_LIB(w, wctype)])
-
 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
 AC_SEARCH_LIBS(gethostbyname, nsl)
 
@@ -1308,17 +1301,6 @@ AC_CHECK_HEADERS(sys/user.h, [], [],
 #endif
 ])
 
-# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
-# between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
-# think that we don't have <curses.h> if we're using GCC.
-case $host_os in
-  solaris2.[[789]])
-    if test "$GCC" = yes; then
-      AC_DEFINE(_MSE_INT_H, 1,
-        [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
-   Solaris 2.[789] when using GCC. ])
-    fi ;;
-esac
 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
 AC_CHECK_HEADERS(term.h, [], [],
 [#if HAVE_CURSES_H
@@ -1769,41 +1751,6 @@ dnl and not doing a canadian cross build (build == host).
 
 if test ${build} = ${host} -a ${host} = ${target} ; then
    case ${host_os} in
-   solaris*)
-      # See if thread_db library is around for Solaris thread debugging.
-      # Note that we must explicitly test for version 1 of the library
-      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
-      # the same API.
-      AC_MSG_CHECKING(for Solaris thread debugging library)
-      if test -f /usr/lib/libthread_db.so.1 ; then
-         AC_MSG_RESULT(yes)
-         AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
-         [Define if using Solaris thread debugging.])
-         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
-         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
-         AC_CHECK_LIB(dl, dlopen)
-        CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC"
-        # 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, 1,
-            [Define if <proc_service.h> on solaris uses int instead of
-             size_t, and assorted other type changes.])
-        fi
-      else
-         AC_MSG_RESULT(no)
-      fi
-      ;;
    aix*)
       AC_MSG_CHECKING(for AiX thread debugging library)
       AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
index 304675f137c797def46517a37dbb2e0d8c10ef8a..911d9c1fe81cce707ac1ce89d43787f2a987bde8 100644 (file)
@@ -20,6 +20,7 @@ case $host in
  vax-*-netbsdelf*)
     ;;
  *-*-irix* | \
+ *-*-solaris2.[01] | *-*-solaris2.[2-9]* | \
  alpha*-*-osf* | \
  alpha*-*-freebsd* | \
  alpha*-*-kfreebsd*-gnu | \
@@ -113,9 +114,8 @@ i[34567]86-*-linux*)        gdb_host=linux ;;
 i[34567]86-*-gnu*)     gdb_host=i386gnu ;;
 i[3456]86-*-nto*)      gdb_host=nto ;;
 i[34567]86-*-openbsd*) gdb_host=obsd ;;
-i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
-                       gdb_host=sol2-64 ;;
-i[34567]86-*-solaris*) gdb_host=i386sol2 ;;
+i[34567]86-*-solaris2* | x86_64-*-solaris2*)
+                       gdb_host=sol2 ;;
 i[34567]86-*-cygwin*)  gdb_host=cygwin ;;
 
 ia64-*-linux*)         gdb_host=linux ;;
index bf851f5ffc2f4991197a60f12d282686a84edf3a..3794663f3c91018b503e4788962d2a6e85ca19f9 100644 (file)
@@ -85,6 +85,12 @@ case ${gdb_host} in
     darwin)
        NATDEPFILES='fork-child.o fork-inferior.o darwin-nat.o \
            darwin-nat-info.o'
+       ;;
+    sol2)
+       NATDEPFILES='fork-child.o fork-inferior.o \
+           procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \
+           sol-thread.o'
+       HAVE_NATIVE_GCORE_HOST=1
         ;;
 esac
 
@@ -212,17 +218,6 @@ case ${gdb_host} in
                ;;
        esac
        ;;
-    i386sol2)
-       case ${gdb_host_cpu} in
-           i386)
-               # Host: Solaris x86
-               NATDEPFILES='fork-child.o fork-inferior.o \
-               i386-v4-nat.o i386-sol2-nat.o \
-               procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-               HAVE_NATIVE_GCORE_HOST=1
-               ;;
-       esac
-       ;;
     linux)
        case ${gdb_host_cpu} in
            aarch64)
@@ -461,24 +456,15 @@ case ${gdb_host} in
        ;;
     sol2)
        case ${gdb_host_cpu} in
+           i386)
+               # Host: Solaris x86_64
+               NATDEPFILES="${NATDEPFILES} \
+               amd64-nat.o i386-v4-nat.o i386-sol2-nat.o"
+               ;;
            sparc)
                # Host: Solaris SPARC & UltraSPARC
                NAT_FILE='nm-sol2.h'
-               NATDEPFILES='sparc-sol2-nat.o \
-               fork-child.o fork-inferior.o \
-               procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-               HAVE_NATIVE_GCORE_HOST=1
-               ;;
-       esac
-       ;;
-    sol2-64)
-       case ${gdb_host_cpu} in
-           i386)
-               # Host: Solaris x86_64
-               NATDEPFILES='fork-child.o fork-inferior.o \
-               amd64-nat.o i386-v4-nat.o i386-sol2-nat.o \
-               procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-               HAVE_NATIVE_GCORE_HOST=1
+               NATDEPFILES="${NATDEPFILES} sparc-sol2-nat.o"
                ;;
        esac
        ;;
index 7ac3ae0f42ca4e19031717af2a5c80e59b5c005d..122a72608fbb9125edb54f141db76884ff403db1 100644 (file)
@@ -223,17 +223,12 @@ i[34567]86-*-nto*)
                        i386-nto-tdep.o nto-tdep.o"
        build_gdbserver=yes
        ;;
-i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
+i[34567]86-*-solaris2* | x86_64-*-solaris2*)
        # Target: Solaris x86_64
        gdb_target_obs="i386-tdep.o i386.o i387-tdep.o amd64-tdep.o amd64.o \
                         amd64-sol2-tdep.o i386-sol2-tdep.o sol2-tdep.o \
                         solib-svr4.o"
        ;;
-i[34567]86-*-solaris*)
-       # Target: Solaris x86
-       gdb_target_obs="i386-tdep.o i387-tdep.o i386-sol2-tdep.o sol2-tdep.o \
-                       i386.o solib-svr4.o"
-       ;;
 i[34567]86-*-linux*)
        # Target: Intel 386 running GNU/Linux
        gdb_target_obs="i386-tdep.o i386.o i386-linux-tdep.o \
@@ -591,12 +586,6 @@ sparc64-*-openbsd*)
                        nbsd-tdep.o obsd-tdep.o bsd-uthread.o solib-svr4.o \
                        ravenscar-thread.o sparc-ravenscar-thread.o"
        ;;
-sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
-       # Target: Solaris SPARC
-       gdb_target_obs="sparc-tdep.o sparc-sol2-tdep.o sol2-tdep.o \
-                       solib-svr4.o \
-                       ravenscar-thread.o sparc-ravenscar-thread.o"
-       ;;
 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
        # Target: Solaris UltraSPARC
        gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o \
index 4620fea21a2a1d7e2bfc0b58f67baf160601e084..4f53c9b913d6c46e1e06bf0ad36484e32a00ba86 100644 (file)
 #include "gregset.h"
 \f
 
-/* Fix-up some broken systems.  */
-
-/* The prototypes in <proc_service.h> are slightly different on older
-   systems.  Compensate for the discrepancies.  */
-
-#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
-\f
-
 /* Helper functions.  */
 
 /* Convert a psaddr_t to a CORE_ADDR.  */
@@ -107,7 +89,7 @@ ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr,
    symbol is stored in SYM_ADDR.  */
 
 ps_err_e
-ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *obj,
+ps_pglobal_lookup (struct ps_prochandle *ph, const char *obj,
                   const char *name, psaddr_t *sym_addr)
 {
   struct inferior *inf = find_inferior_ptid (ph->ptid);
@@ -129,8 +111,7 @@ ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *obj,
    them into BUF.  */
 
 ps_err_e
-ps_pdread (gdb_ps_prochandle_t ph, psaddr_t addr,
-          gdb_ps_read_buf_t buf, gdb_ps_size_t size)
+ps_pdread (struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size)
 {
   return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 0);
 }
@@ -138,8 +119,8 @@ ps_pdread (gdb_ps_prochandle_t ph, psaddr_t addr,
 /* Write SIZE bytes from BUF into the target process PH at address ADDR.  */
 
 ps_err_e
-ps_pdwrite (gdb_ps_prochandle_t ph, psaddr_t addr,
-           gdb_ps_write_buf_t buf, gdb_ps_size_t size)
+ps_pdwrite (struct ps_prochandle *ph, psaddr_t addr,
+           const void *buf, size_t size)
 {
   return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
 }
@@ -148,7 +129,7 @@ ps_pdwrite (gdb_ps_prochandle_t ph, psaddr_t addr,
    and store them in GREGSET.  */
 
 ps_err_e
-ps_lgetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prgregset_t gregset)
+ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
   struct regcache *regcache
@@ -164,7 +145,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prgregset_t gregset)
    from GREGSET.  */
 
 ps_err_e
-ps_lsetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, const prgregset_t gregset)
+ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
   struct regcache *regcache
@@ -180,8 +161,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, const prgregset_t gregset)
    process PH and store them in FPREGSET.  */
 
 ps_err_e
-ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
-              gdb_prfpregset_t *fpregset)
+ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, gdb_prfpregset_t *fpregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
   struct regcache *regcache
@@ -197,7 +177,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
    process PH from FPREGSET.  */
 
 ps_err_e
-ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
+ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
               const gdb_prfpregset_t *fpregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
@@ -214,7 +194,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
    -- not used on Solaris.  */
 
 pid_t
-ps_getpid (gdb_ps_prochandle_t ph)
+ps_getpid (struct ps_prochandle *ph)
 {
   return ptid_get_pid (ph->ptid);
 }
index d493f7b8d509aef2ba79427ce0a6cbeb5e6a2c42..c5219148bdc9447689f2cb48de45b3767a6d87b1 100644 (file)
@@ -700,34 +700,6 @@ sol_thread_alive (struct target_ops *ops, ptid_t ptid)
 /* These routines implement the lower half of the thread_db interface,
    i.e. the ps_* routines.  */
 
-/* Various versions of <proc_service.h> have slightly different
-   function prototypes.  In particular, we have
-
-   NEWER                        OLDER
-   struct ps_prochandle *       const struct ps_prochandle *
-   void*                        char*
-   const void*                 char*
-   int                         size_t
-
-   Which one you have depends on the 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;
-typedef psaddr_t gdb_ps_addr_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;
-typedef psaddr_t gdb_ps_addr_t;
-#endif
-
 /* The next four routines are called by libthread_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,
@@ -736,7 +708,7 @@ typedef psaddr_t gdb_ps_addr_t;
 /* Process stop.  */
 
 ps_err_e
-ps_pstop (gdb_ps_prochandle_t ph)
+ps_pstop (struct ps_prochandle *ph)
 {
   return PS_OK;
 }
@@ -744,7 +716,7 @@ ps_pstop (gdb_ps_prochandle_t ph)
 /* Process continue.  */
 
 ps_err_e
-ps_pcontinue (gdb_ps_prochandle_t ph)
+ps_pcontinue (struct ps_prochandle *ph)
 {
   return PS_OK;
 }
@@ -752,7 +724,7 @@ ps_pcontinue (gdb_ps_prochandle_t ph)
 /* LWP stop.  */
 
 ps_err_e
-ps_lstop (gdb_ps_prochandle_t ph, lwpid_t lwpid)
+ps_lstop (struct ps_prochandle *ph, lwpid_t lwpid)
 {
   return PS_OK;
 }
@@ -760,7 +732,7 @@ ps_lstop (gdb_ps_prochandle_t ph, lwpid_t lwpid)
 /* LWP continue.  */
 
 ps_err_e
-ps_lcontinue (gdb_ps_prochandle_t ph, lwpid_t lwpid)
+ps_lcontinue (struct ps_prochandle *ph, lwpid_t lwpid)
 {
   return PS_OK;
 }
@@ -768,8 +740,8 @@ ps_lcontinue (gdb_ps_prochandle_t ph, lwpid_t lwpid)
 /* Looks up the symbol LD_SYMBOL_NAME in the debugger's symbol table.  */
 
 ps_err_e
-ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *ld_object_name,
-                  const char *ld_symbol_name, gdb_ps_addr_t *ld_symbol_addr)
+ps_pglobal_lookup (struct ps_prochandle *ph, const char *ld_object_name,
+                  const char *ld_symbol_name, psaddr_t *ld_symbol_addr)
 {
   struct bound_minimal_symbol ms;
 
@@ -784,7 +756,7 @@ ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *ld_object_name,
 /* Common routine for reading and writing memory.  */
 
 static ps_err_e
-rw_common (int dowrite, const struct ps_prochandle *ph, gdb_ps_addr_t addr,
+rw_common (int dowrite, const struct ps_prochandle *ph, psaddr_t addr,
           gdb_byte *buf, int size)
 {
   int ret;
@@ -819,8 +791,7 @@ rw_common (int dowrite, const struct ps_prochandle *ph, gdb_ps_addr_t addr,
 /* Copies SIZE bytes from target process .data segment to debugger memory.  */
 
 ps_err_e
-ps_pdread (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
-          gdb_ps_read_buf_t buf, gdb_ps_size_t size)
+ps_pdread (struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size)
 {
   return rw_common (0, ph, addr, (gdb_byte *) buf, size);
 }
@@ -828,8 +799,8 @@ ps_pdread (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
 /* Copies SIZE bytes from debugger memory .data segment to target process.  */
 
 ps_err_e
-ps_pdwrite (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
-           gdb_ps_write_buf_t buf, gdb_ps_size_t size)
+ps_pdwrite (struct ps_prochandle *ph, psaddr_t addr,
+           const void *buf, size_t size)
 {
   return rw_common (1, ph, addr, (gdb_byte *) buf, size);
 }
@@ -837,8 +808,7 @@ ps_pdwrite (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
 /* Copies SIZE bytes from target process .text segment to debugger memory.  */
 
 ps_err_e
-ps_ptread (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
-          gdb_ps_read_buf_t buf, gdb_ps_size_t size)
+ps_ptread (struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size)
 {
   return rw_common (0, ph, addr, (gdb_byte *) buf, size);
 }
@@ -846,8 +816,8 @@ ps_ptread (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
 /* Copies SIZE bytes from debugger memory .text segment to target process.  */
 
 ps_err_e
-ps_ptwrite (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
-           gdb_ps_write_buf_t buf, gdb_ps_size_t size)
+ps_ptwrite (struct ps_prochandle *ph, psaddr_t addr,
+           const void *buf, size_t size)
 {
   return rw_common (1, ph, addr, (gdb_byte *) buf, size);
 }
@@ -855,7 +825,7 @@ ps_ptwrite (gdb_ps_prochandle_t ph, gdb_ps_addr_t addr,
 /* Get general-purpose registers for LWP.  */
 
 ps_err_e
-ps_lgetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prgregset_t gregset)
+ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
   struct regcache *regcache
@@ -870,7 +840,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prgregset_t gregset)
 /* Set general-purpose registers for LWP.  */
 
 ps_err_e
-ps_lsetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
+ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid,
             const prgregset_t gregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
@@ -898,7 +868,7 @@ ps_plog (const char *fmt, ...)
 /* Get size of extra register set.  Currently a noop.  */
 
 ps_err_e
-ps_lgetxregsize (gdb_ps_prochandle_t ph, lwpid_t lwpid, int *xregsize)
+ps_lgetxregsize (struct ps_prochandle *ph, lwpid_t lwpid, int *xregsize)
 {
   return PS_OK;
 }
@@ -906,7 +876,7 @@ ps_lgetxregsize (gdb_ps_prochandle_t ph, lwpid_t lwpid, int *xregsize)
 /* Get extra register set.  Currently a noop.  */
 
 ps_err_e
-ps_lgetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
+ps_lgetxregs (struct ps_prochandle *ph, lwpid_t lwpid, caddr_t xregset)
 {
   return PS_OK;
 }
@@ -914,7 +884,7 @@ ps_lgetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
 /* Set extra register set.  Currently a noop.  */
 
 ps_err_e
-ps_lsetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
+ps_lsetxregs (struct ps_prochandle *ph, lwpid_t lwpid, caddr_t xregset)
 {
   return PS_OK;
 }
@@ -922,7 +892,7 @@ ps_lsetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
 /* Get floating-point registers for LWP.  */
 
 ps_err_e
-ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
+ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
               prfpregset_t *fpregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
@@ -938,7 +908,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
 /* Set floating-point regs for LWP.  */
 
 ps_err_e
-ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
+ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
               const prfpregset_t * fpregset)
 {
   ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
@@ -957,7 +927,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid,
    (e.g. procfs) method, but this ought to work.  */
 
 ps_err_e
-ps_pdmodel (gdb_ps_prochandle_t ph, int *data_model)
+ps_pdmodel (struct ps_prochandle *ph, int *data_model)
 {
   if (exec_bfd == 0)
     *data_model = PR_MODEL_UNKNOWN;
@@ -978,7 +948,7 @@ ps_pdmodel (gdb_ps_prochandle_t ph, int *data_model)
    of libthread_db would fail because of ps_lgetLDT being undefined.  */
 
 ps_err_e
-ps_lgetLDT (gdb_ps_prochandle_t ph, lwpid_t lwpid,
+ps_lgetLDT (struct ps_prochandle *ph, lwpid_t lwpid,
            struct ssd *pldt)
 {
   /* NOTE: only used on Solaris, therefore OK to refer to procfs.c.  */