From 4cb2459b250fa92cfcdcd40e421ac1c8dbea5368 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Thu, 20 Sep 2012 18:17:22 -0400 Subject: [PATCH 3/3] New unit sol-sparc-thread.c extracted from sol-thread.c Moving some sparc-specific routines out of sol-thread.c into their own (new) file. gdb/ChangeLog: * sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs): Move these functions to sol-sparc-thread.c. * sol-sparc-thread.c: New file. * configure.ac: Add sol-sparc-thread.o to CONFIG_OBS and sol-sparc-thread.c to CONFIG_SRCS for sparc-solaris native configurations. * configure: Regenerate. --- gdb/configure | 7 +++++++ gdb/configure.ac | 7 +++++++ gdb/sol-sparc-thread.c | 43 +++++++++++++++++++++++++++++++++++++++++++ gdb/sol-thread.c | 28 ---------------------------- 4 files changed, 57 insertions(+), 28 deletions(-) create mode 100644 gdb/sol-sparc-thread.c diff --git a/gdb/configure b/gdb/configure index d9d0aaa..7d14003 100755 --- a/gdb/configure +++ b/gdb/configure @@ -12534,6 +12534,13 @@ $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 sol-sparc-thread. + case ${host_cpu} in + sparc*) + CONFIG_OBS="${CONFIG_OBS} sol-sparc-thread.o" + CONFIG_SRCS="${CONFIG_SRCS} sol-sparc-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 6069c08..15de347 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1781,6 +1781,13 @@ 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 sol-sparc-thread. + case ${host_cpu} in + sparc*) + CONFIG_OBS="${CONFIG_OBS} sol-sparc-thread.o" + CONFIG_SRCS="${CONFIG_SRCS} sol-sparc-thread.c" + ;; + esac AC_CHECK_LIB(dl, dlopen) CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC" # Sun randomly tweaked the prototypes in diff --git a/gdb/sol-sparc-thread.c b/gdb/sol-sparc-thread.c new file mode 100644 index 0000000..6b7c49d --- /dev/null +++ b/gdb/sol-sparc-thread.c @@ -0,0 +1,43 @@ +/* Copyright (C) 2012 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 . */ + +#include "defs.h" +#include + +/* 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; +} diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c index b86079f..06a2fb6 100644 --- a/gdb/sol-thread.c +++ b/gdb/sol-thread.c @@ -984,34 +984,6 @@ ps_plog (const char *fmt, ...) vfprintf_filtered (gdb_stderr, fmt, args); } -#if defined(__sparc) || defined(__sparcv9) - -/* 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; -} - -#endif /* defined(__sparc) || defined(__sparcv9) */ - /* Get floating-point registers for LWP. */ ps_err_e -- 1.7.0.4