From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17490 invoked by alias); 6 Feb 2014 20:56:23 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 17432 invoked by uid 89); 6 Feb 2014 20:56:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 06 Feb 2014 20:56:21 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s16KuAHN019995 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 6 Feb 2014 15:56:15 -0500 Received: from barimba.redhat.com (ovpn-113-148.phx2.redhat.com [10.3.113.148]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s16KtfZt013306; Thu, 6 Feb 2014 15:56:10 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [RFC v2 34/38] remove exec_set_find_memory_regions Date: Thu, 06 Feb 2014 20:56:00 -0000 Message-Id: <1391720136-2121-35-git-send-email-tromey@redhat.com> In-Reply-To: <1391720136-2121-1-git-send-email-tromey@redhat.com> References: <1391720136-2121-1-git-send-email-tromey@redhat.com> X-SW-Source: 2014-02/txt/msg00155.txt.bz2 exec_set_find_memory_regions is used to modify the exec target. However, it only has a single caller, and so it is much clearer to simply set the appropriate field directly. It's also better for the coming multi-target world to avoid this kind of global state change anyway. 2014-02-06 Tom Tromey * gcore.h (objfile_find_memory_regions): Declare. * gcore.c (objfile_find_memory_regions): No longer static. Add "self" argument. (_initialize_gcore): Don't call exec_set_find_memory_regions. * exec.c: Include gcore.h. (exec_set_find_memory_regions): Remove. (exec_find_memory_regions): Remove. (exec_do_find_memory_regions): Remove. (init_exec_ops): Update. * defs.h (exec_set_find_memory_regions): Remove. --- gdb/ChangeLog | 13 +++++++++++++ gdb/defs.h | 4 ---- gdb/exec.c | 22 ++-------------------- gdb/gcore.c | 6 +++--- gdb/gcore.h | 3 +++ 5 files changed, 21 insertions(+), 27 deletions(-) diff --git a/gdb/defs.h b/gdb/defs.h index d86f4a9..c405cad 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -372,10 +372,6 @@ typedef int (*find_memory_region_ftype) (CORE_ADDR addr, unsigned long size, int read, int write, int exec, int modified, void *data); -/* Take over the 'find_mapped_memory' vector from exec.c. */ -extern void exec_set_find_memory_regions - (int (*func) (find_memory_region_ftype func, void *data)); - /* Possible lvalue types. Like enum language, this should be in value.h, but needs to be here for the same reason. */ diff --git a/gdb/exec.c b/gdb/exec.c index da0f367..01d79e2 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -34,6 +34,7 @@ #include "gdbthread.h" #include "progspace.h" #include "gdb_bfd.h" +#include "gcore.h" #include #include "readline/readline.h" @@ -62,10 +63,6 @@ void _initialize_exec (void); struct target_ops exec_ops; -/* Function used to implement to_find_memory_regions. */ - -static int (*exec_do_find_memory_regions) (find_memory_region_ftype, void *); - /* True if the exec target is pushed on the stack. */ static int using_exec_ops; @@ -820,21 +817,6 @@ exec_has_memory (struct target_ops *ops) != current_target_sections->sections_end); } -/* Find mapped memory. */ - -extern void -exec_set_find_memory_regions (int (*func) (find_memory_region_ftype, void *)) -{ - exec_do_find_memory_regions = func; -} - -static int -exec_find_memory_regions (struct target_ops *self, - find_memory_region_ftype func, void *data) -{ - return exec_do_find_memory_regions (func, data); -} - static char *exec_make_note_section (struct target_ops *self, bfd *, int *); /* Fill in the exec file target vector. Very few entries need to be @@ -859,7 +841,7 @@ Specify the filename of the executable file."; exec_ops.to_stratum = file_stratum; exec_ops.to_has_memory = exec_has_memory; exec_ops.to_make_corefile_notes = exec_make_note_section; - exec_ops.to_find_memory_regions = exec_find_memory_regions; + exec_ops.to_find_memory_regions = objfile_find_memory_regions; exec_ops.to_magic = OPS_MAGIC; } diff --git a/gdb/gcore.c b/gdb/gcore.c index 67fbf30..b80a97b 100644 --- a/gdb/gcore.c +++ b/gdb/gcore.c @@ -471,8 +471,9 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size, int read, return 0; } -static int -objfile_find_memory_regions (find_memory_region_ftype func, void *obfd) +int +objfile_find_memory_regions (struct target_ops *self, + find_memory_region_ftype func, void *obfd) { /* Use objfile data to create memory sections. */ struct objfile *objfile; @@ -607,5 +608,4 @@ Save a core file with the current state of the debugged process.\n\ Argument is optional filename. Default filename is 'core.'.")); add_com_alias ("gcore", "generate-core-file", class_files, 1); - exec_set_find_memory_regions (objfile_find_memory_regions); } diff --git a/gdb/gcore.h b/gdb/gcore.h index fa64211..7a6271b 100644 --- a/gdb/gcore.h +++ b/gdb/gcore.h @@ -23,5 +23,8 @@ extern bfd *create_gcore_bfd (const char *filename); extern void write_gcore_file (bfd *obfd); extern bfd *load_corefile (char *filename, int from_tty); +extern int objfile_find_memory_regions (struct target_ops *self, + find_memory_region_ftype func, + void *obfd); #endif /* GCORE_H */ -- 1.8.1.4