This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] move sparc-sol-thread.c back into sol-thread.c.


> I've done some digging and found that xregs on Solaris/amd64 were added
> for AVX support, in Solaris 10 Update 10 apparently:
> 
> http://www.mail-archive.com/opensolaris-arc@opensolaris.org/msg01454.html
> 
> As we already found, whether or not you find ps_lgetxregsize documented
> as SPARC-specific depends on the version of the Solaris 10 man pages you
> are looking at, and in S11 it has been there from the beginning.  So
> please adapt the comments accordingly, or even leave out the x86_64
> reference altogether.

OK.

> > gdb/ChangeLog:
> >
> >         PR tdep/15420:
> >         * sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
> >         New functions, directly copied from sparc-sol-thread.c.
> >         * sparc-sol-thread.c: Delete.
> >         * configure.ac: Remove code handling sparc-solaris-thread.c.
> >         * configure: Regenerate.
> >
> > Tested on sparc-solaris. Rainer, would you mind confirming that this
> > fixes your problem as well?
> 
> I've removed my configure hack to use sparc-sol-thread.c everywhere,
> applied your patch and rebuilt gdb: it works just fine now.

Thanks for testing your fix. Attached is what I checked in the HEAD.
I will also port the patch to gdb-7.6 as well.

-- 
Joel
>From b5086e46d8f89eab689bacaedfab6f6716a5f9e8 Mon Sep 17 00:00:00 2001
From: Joel Brobecker <brobecker@adacore.com>
Date: Mon, 6 May 2013 08:01:15 -0400
Subject: [PATCH] move sparc-sol-thread.c back into sol-thread.c.

The routines in sparc-sol-thread used to be SPARC-specific (and
documented as such in the ptrace man page), and therefore hosting them
in a sparc-specific file made sense.  However, newer versions of
Solaris now use those callbacks (Solaris 10 Update 10, apparently),
and thus the note about these callbacks being specific to SPARC
was removed.

So this patch deletes sparc-sol-thread.c and moves the code back
inside sol-thread.c.

gdb/ChangeLog:

        PR tdep/15420:
        * sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
        New functions, directly copied from sparc-sol-thread.c.
        * sparc-sol-thread.c: Delete.
        * configure.ac: Remove code handling sparc-solaris-thread.c.
        * configure: Regenerate.
---
 gdb/ChangeLog          |    9 +++++++++
 gdb/configure          |    7 -------
 gdb/configure.ac       |    7 -------
 gdb/sol-thread.c       |   24 ++++++++++++++++++++++++
 gdb/sparc-sol-thread.c |   43 -------------------------------------------
 5 files changed, 33 insertions(+), 57 deletions(-)
 delete mode 100644 gdb/sparc-sol-thread.c

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2510f1a..7ee965a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2013-05-10  Joel Brobecker  <brobecker@adacore.com>
+
+	PR tdep/15420:
+	* sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
+	New functions, directly copied from sparc-sol-thread.c.
+	* sparc-sol-thread.c: Delete.
+	* configure.ac: Remove code handling sparc-solaris-thread.c.
+	* configure: Regenerate.
+
 2013-05-10  Phil Muldoon  <pmuldoon@redhat.com>
 
 	* stack.c (backtrace_command_1): Add "no-filters", and Python frame
diff --git a/gdb/configure b/gdb/configure
index c5ad94b..776fa70 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -11969,13 +11969,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"
-         # On SPARC CPUs, we also need to build sparc-sol-thread.
-         case ${host_cpu} in
-           sparc*)
-             CONFIG_OBS="${CONFIG_OBS} sparc-sol-thread.o"
-             CONFIG_SRCS="${CONFIG_SRCS} sparc-sol-thread.c"
-             ;;
-         esac
          { $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 :
diff --git a/gdb/configure.ac b/gdb/configure.ac
index bb7fbdd..ef47cc7 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1742,13 +1742,6 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
          [Define if using Solaris thread debugging.])
          CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
          CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
-         # On SPARC CPUs, we also need to build sparc-sol-thread.
-         case ${host_cpu} in
-           sparc*)
-             CONFIG_OBS="${CONFIG_OBS} sparc-sol-thread.o"
-             CONFIG_SRCS="${CONFIG_SRCS} sparc-sol-thread.c"
-             ;;
-         esac
          AC_CHECK_LIB(dl, dlopen)
 	 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC"
 	 # Sun randomly tweaked the prototypes in <proc_service.h>
diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c
index cccb935..f1b29a0 100644
--- a/gdb/sol-thread.c
+++ b/gdb/sol-thread.c
@@ -907,6 +907,30 @@ ps_plog (const char *fmt, ...)
   vfprintf_filtered (gdb_stderr, fmt, args);
 }
 
+/* Get size of extra register set.  Currently a noop.  */
+
+ps_err_e
+ps_lgetxregsize (gdb_ps_prochandle_t ph, lwpid_t lwpid, int *xregsize)
+{
+  return PS_OK;
+}
+
+/* Get extra register set.  Currently a noop.  */
+
+ps_err_e
+ps_lgetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
+{
+  return PS_OK;
+}
+
+/* Set extra register set.  Currently a noop.  */
+
+ps_err_e
+ps_lsetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
+{
+  return PS_OK;
+}
+
 /* Get floating-point registers for LWP.  */
 
 ps_err_e
diff --git a/gdb/sparc-sol-thread.c b/gdb/sparc-sol-thread.c
deleted file mode 100644
index 1576d07..0000000
--- a/gdb/sparc-sol-thread.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2012-2013 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include <proc_service.h>
-
-/* Get size of extra register set.  Currently a noop.  */
-
-ps_err_e
-ps_lgetxregsize (struct ps_prochandle *ph, lwpid_t lwpid, int *xregsize)
-{
-  return PS_OK;
-}
-
-/* Get extra register set.  Currently a noop.  */
-
-ps_err_e
-ps_lgetxregs (struct ps_prochandle *ph, lwpid_t lwpid, caddr_t xregset)
-{
-  return PS_OK;
-}
-
-/* Set extra register set.  Currently a noop.  */
-
-ps_err_e
-ps_lsetxregs (struct ps_prochandle *ph, lwpid_t lwpid, caddr_t xregset)
-{
-  return PS_OK;
-}
-- 
1.7.10.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]