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]

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


Contrary to what the man page says, the routines in sparc-sol-thread
are needed on some non-SPARC systems, more precisly on x86_64.
So this patch deletes sparc-sol-thread.c and moves the code back
inside sol-thread.c, with some added comments warning the reader
about this pitfall.

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?

Thank you,
-- 
Joel


---
 gdb/configure          |    7 -------
 gdb/configure.ac       |    7 -------
 gdb/sol-thread.c       |   33 +++++++++++++++++++++++++++++++++
 gdb/sparc-sol-thread.c |   43 -------------------------------------------
 4 files changed, 33 insertions(+), 57 deletions(-)
 delete mode 100644 gdb/sparc-sol-thread.c

diff --git a/gdb/configure b/gdb/configure
index 4e9aa39..0f87860 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -12023,13 +12023,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 092c994..6b5f403 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1773,13 +1773,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 760edb4..6202997 100644
--- a/gdb/sol-thread.c
+++ b/gdb/sol-thread.c
@@ -932,6 +932,39 @@ ps_plog (const char *fmt, ...)
   vfprintf_filtered (gdb_stderr, fmt, args);
 }
 
+/* Get size of extra register set.  Currently a noop.
+
+   Needs to be provided on x86_64-solaris, and therefore not specific
+   to SPARC, contrary to what the Solaris man pages say.  */
+
+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.
+
+   Needs to be provided on x86_64-solaris, and therefore not specific
+   to SPARC, contrary to what the Solaris man pages say.  */
+
+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.
+
+   Needs to be provided on x86_64-solaris, and therefore not specific
+   to SPARC, contrary to what the Solaris man pages say.  */
+
+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.0.4


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