From patchwork Tue Sep 26 11:20:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 23149 Received: (qmail 106968 invoked by alias); 26 Sep 2017 11:20:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 105884 invoked by uid 89); 26 Sep 2017 11:20:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-19.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, KAM_STOCKGEN, RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=hiding, 06 X-HELO: smtp.CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE (HELO smtp.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Sep 2017 11:20:20 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 1993E72E; Tue, 26 Sep 2017 13:20:18 +0200 (CEST) Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id sL5VjubFf+Eo; Tue, 26 Sep 2017 13:20:06 +0200 (CEST) Received: from lokon.CeBiTec.Uni-Bielefeld.DE (lokon.CeBiTec.Uni-Bielefeld.DE [129.70.161.152]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id D1A1272D; Tue, 26 Sep 2017 13:20:05 +0200 (CEST) Received: (from ro@localhost) by lokon.CeBiTec.Uni-Bielefeld.DE (8.15.2+Sun/8.15.2/Submit) id v8QBK5c2024067; Tue, 26 Sep 2017 13:20:05 +0200 (MEST) From: Rainer Orth To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: Obsolete/remove Solaris < 10 [was: Re: Fix gdb 8.1 Solaris compilation] References: <47bb2956-5654-0ce3-26dd-9f6b76ff6e08@redhat.com> Date: Tue, 26 Sep 2017 13:20:05 +0200 In-Reply-To: (Pedro Alves's message of "Fri, 22 Sep 2017 16:40:01 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (usg-unix-v) MIME-Version: 1.0 Hi Pedro, > On 09/22/2017 03:44 PM, Rainer Orth wrote: >>> On 09/21/2017 03:30 PM, Rainer Orth wrote: >> >>> all these years stepped forward, I think we should be able to just drop >>> it. I think you've proposed this in the past, even. I very >> >> Indeed: I found a line or two of notes about it. Must have been in the >> context of removing support for unstructured /proc in procfs.c and >> friends. I've dusted off and completed that patch as well... > > Yay, looking forward to that. :-) the patch compiles now. I'll post an initial version soon. >>> much doubt anyone would step forward this time. >> >> Indeed. I've opened a tracking PR gdb/22185 and produced a first patch. >> It will need a bit more testing (especially on Linux which also uses >> proc-service.c), but it's basically straightforward. > > Eh, the Solaris port doesn't actually use proc-service.c. The > Solaris proc-service implementation is directly in sol-thread.c. > I think proc-service.c was originally based on sol-thread.c, maybe > aiming at sharing at some point, and that's where it got the > PROC_SERVICE_IS_OLD handling from. I was misled by the support for Solaris-only PROC_SERVICE_IS_OLD. It's probably worth trying to merge the two now. > The patch looks good to me. Thanks. > I mildly wonder if the adding of sol-thread.o could move > from gdb/configure.ac to gdb/configure.nat. Certainly: no point hiding a static addition in configure.ac. I've also found that the remaining code in the solaris* section there can go, too: * 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). The attached revised patch has been tested on sparcv9-sun-solaris2.10, sparcv9-sun-solaris2.11.4 (with https://sourceware.org/ml/gdb-patches/2017-09/msg00787.html applied so mainline compiles on Solaris/SPARC at all), 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. Testing is very weird, though: Linux/x86_64 only shows a few failures, but Solaris is a mess: on Solaris 10, the vast majority of tests time out (although gdb seems to work reasonably well interactively), while many more work on Solaris 11.4 until testing runs into what seems an infinite loop of FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=main: force-fail=1: run failure detected (timeout) Nonetheless, ok for mainline now? Thanks. Rainer # HG changeset patch # Parent 5123ae285cd10f18efd6d5db4a75bc4989514ef1 Remove support for Solaris < 10 (PR gdb/22185) diff --git a/gdb/NEWS b/gdb/NEWS --- a/gdb/NEWS +++ b/gdb/NEWS @@ -115,6 +115,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 diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -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 and that would cause AC_CHECK_HEADERS to -# think that we don't have 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 and 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 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 - # at one point. - AC_MSG_CHECKING(if is old) - AC_CACHE_VAL(gdb_cv_proc_service_is_old,[ - AC_TRY_COMPILE([ - #include - 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 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, diff --git a/gdb/configure.host b/gdb/configure.host --- a/gdb/configure.host +++ b/gdb/configure.host @@ -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 ;; diff --git a/gdb/configure.nat b/gdb/configure.nat --- a/gdb/configure.nat +++ b/gdb/configure.nat @@ -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 ;; diff --git a/gdb/configure.tgt b/gdb/configure.tgt --- a/gdb/configure.tgt +++ b/gdb/configure.tgt @@ -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 \ diff --git a/gdb/proc-service.c b/gdb/proc-service.c --- a/gdb/proc-service.c +++ b/gdb/proc-service.c @@ -34,24 +34,6 @@ #include "gregset.h" -/* Fix-up some broken systems. */ - -/* The prototypes in 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 - - /* Helper functions. */ /* Convert a psaddr_t to a CORE_ADDR. */ @@ -107,7 +89,7 @@ ps_xfer_memory (const struct ps_prochand 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 p 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, psadd /* 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, psad 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, lwp 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, lwp 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, l 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, l -- 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); } diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c --- a/gdb/sol-thread.c +++ b/gdb/sol-thread.c @@ -700,34 +700,6 @@ sol_thread_alive (struct target_ops *ops /* These routines implement the lower half of the thread_db interface, i.e. the ps_* routines. */ -/* Various versions of 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_ /* 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, lw /* 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 p /* 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_ /* 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_p /* 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_ /* 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_p /* 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_ /* 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, lwp /* 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, /* 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, lw /* 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, lw /* 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, l /* 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, l (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 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. */