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 5/9 v7] Introduce common-regcache.h


Gary Benson writes:
 > This introduces common-regcache.h.  This contains two functions that
 > allow nat/linux-btrace.c to be simplified.  A better long term
 > solution would be unify the regcache code, but this is sufficient for
 > now.
 > 
 > This patch differs from the version I posted on August 1
 > (https://sourceware.org/ml/gdb-patches/2014-08/msg00010.html) in that
 > some suggested documentation changes have been made and that various
 > updates were required to reflect regcache changes recently committed
 > by Andreas Arnez.
 > 
 > gdb/ChangeLog:
 > 
 > 	* common/common-regcache.h: New file.
 > 	* Makefile.in (HFILES_NO_SRCDIR): Add common/common-regcache.h.
 > 	* regcache.h: Include common-regcache.h.
 > 	(regcache_read_pc): Don't declare.
 > 	* regcache.c (get_thread_regcache_for_ptid): New function.
 > 	* nat/linux-btrace.c: Don't include regcache.h.
 > 	Include common-regcache.h.
 > 	(perf_event_read_bts): Use get_thread_regcache_for_ptid.
 > 
 > gdb/gdbserver/ChangeLog:
 > 
 > 	* regcache.h: Include common-regcache.h.
 > 	(regcache_read_pc): Don't declare.
 > 	* regcache.c (get_thread_regcache_for_ptid): New function.
 >[...]
 > diff --git a/gdb/common/common-regcache.h b/gdb/common/common-regcache.h
 > new file mode 100644
 > index 0000000..aef6bfd
 > --- /dev/null
 > +++ b/gdb/common/common-regcache.h
 > @@ -0,0 +1,35 @@
 > +/* Cache and manage the values of registers
 > +
 > +   Copyright (C) 1986-2014 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/>.  */
 > +
 > +#ifndef COMMON_REGCACHE_H
 > +#define COMMON_REGCACHE_H
 > +
 > +/* This header is a stopgap until we have an independent regcache.  */
 > +
 > +/* Return the register cache associated with the thread specified
 > +   by PTID.  This function must be provided by the client.  */

Hi.
Can you add a comment here explaining the ownership of the memory
object returned?
E.g., is it cached "internally" to the function so that the caller
doesn't have to free it?

Thanks!

 > +
 > +extern struct regcache *get_thread_regcache_for_ptid (ptid_t ptid);
 > +
 > +/* Read the PC register.  This function must be provided by the
 > +   client.  */
 > +
 > +extern CORE_ADDR regcache_read_pc (struct regcache *regcache);
 > +
 > +#endif /* COMMON_REGCACHE_H */


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