This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA 4/4] Constify target_so_ops::bfd_open
- From: Tom Tromey <tom at tromey dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tom at tromey dot com>
- Date: Tue, 13 Feb 2018 16:39:07 -0700
- Subject: [RFA 4/4] Constify target_so_ops::bfd_open
- Authentication-results: sourceware.org; auth=none
- References: <20180213233907.11259-1-tom@tromey.com>
This constifies the bfd_open method of struct target_so_ops.
gdb/ChangeLog
2018-02-13 Tom Tromey <tom@tromey.com>
* solist.h (struct target_so_ops) <bfd_open>: Make pathname
const.
(solib_bfd_open): Make pathname const.
* solib.c (solib_bfd_open): Make pathname const.
* solib-spu.c (spu_bfd_fopen): Make name const.
(spu_bfd_open): Make pathname const.
* solib-darwin.c (darwin_bfd_open): Make pathname const.
* solib-aix.c (solib_aix_bfd_open): Make pathname const.
---
gdb/ChangeLog | 11 +++++++++++
gdb/solib-aix.c | 4 ++--
gdb/solib-darwin.c | 2 +-
gdb/solib-spu.c | 6 +++---
gdb/solib.c | 2 +-
gdb/solist.h | 4 ++--
6 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c
index aa0e0d2dfb..f11cbcd243 100644
--- a/gdb/solib-aix.c
+++ b/gdb/solib-aix.c
@@ -602,7 +602,7 @@ solib_aix_in_dynsym_resolve_code (CORE_ADDR pc)
/* Implement the "bfd_open" target_so_ops method. */
static gdb_bfd_ref_ptr
-solib_aix_bfd_open (char *pathname)
+solib_aix_bfd_open (const char *pathname)
{
/* The pathname is actually a synthetic filename with the following
form: "/path/to/sharedlib(member.o)" (double-quotes excluded).
@@ -611,7 +611,7 @@ solib_aix_bfd_open (char *pathname)
FIXME: This is a little hacky. Perhaps we should provide access
to the solib's lm_info here? */
const int path_len = strlen (pathname);
- char *sep;
+ const char *sep;
int filename_len;
int found_file;
diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c
index ed8f9da257..cf15148c36 100644
--- a/gdb/solib-darwin.c
+++ b/gdb/solib-darwin.c
@@ -617,7 +617,7 @@ darwin_lookup_lib_symbol (struct objfile *objfile,
}
static gdb_bfd_ref_ptr
-darwin_bfd_open (char *pathname)
+darwin_bfd_open (const char *pathname)
{
int found_file;
diff --git a/gdb/solib-spu.c b/gdb/solib-spu.c
index d0d63b5ef5..943ebf5ee3 100644
--- a/gdb/solib-spu.c
+++ b/gdb/solib-spu.c
@@ -320,7 +320,7 @@ spu_bfd_iovec_stat (bfd *abfd, void *stream, struct stat *sb)
}
static gdb_bfd_ref_ptr
-spu_bfd_fopen (char *name, CORE_ADDR addr)
+spu_bfd_fopen (const char *name, CORE_ADDR addr)
{
CORE_ADDR *open_closure = XNEW (CORE_ADDR);
@@ -342,9 +342,9 @@ spu_bfd_fopen (char *name, CORE_ADDR addr)
/* Open shared library BFD. */
static gdb_bfd_ref_ptr
-spu_bfd_open (char *pathname)
+spu_bfd_open (const char *pathname)
{
- char *original_name = strrchr (pathname, '@');
+ const char *original_name = strrchr (pathname, '@');
asection *spu_name;
unsigned long long addr;
int fd;
diff --git a/gdb/solib.c b/gdb/solib.c
index c1bb227d3f..e356fedeb8 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -482,7 +482,7 @@ solib_bfd_fopen (const char *pathname, int fd)
/* Find shared library PATHNAME and open a BFD for it. */
gdb_bfd_ref_ptr
-solib_bfd_open (char *pathname)
+solib_bfd_open (const char *pathname)
{
int found_file;
const struct bfd_arch_info *b;
diff --git a/gdb/solist.h b/gdb/solist.h
index 1df45e4d93..6875d1be12 100644
--- a/gdb/solist.h
+++ b/gdb/solist.h
@@ -129,7 +129,7 @@ struct target_so_ops
int (*in_dynsym_resolve_code) (CORE_ADDR pc);
/* Find and open shared library binary file. */
- gdb_bfd_ref_ptr (*bfd_open) (char *pathname);
+ gdb_bfd_ref_ptr (*bfd_open) (const char *pathname);
/* Optional extra hook for finding and opening a solib.
If TEMP_PATHNAME is non-NULL: If the file is successfully opened a
@@ -204,7 +204,7 @@ extern gdb::unique_xmalloc_ptr<char> solib_find (const char *in_pathname,
extern gdb_bfd_ref_ptr solib_bfd_fopen (const char *pathname, int fd);
/* Find solib binary file and open it. */
-extern gdb_bfd_ref_ptr solib_bfd_open (char *in_pathname);
+extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
/* FIXME: gdbarch needs to control this variable. */
extern struct target_so_ops *current_target_so_ops;
--
2.13.6