Patchwork [RFA,4/4] Constify target_so_ops::bfd_open

login
register
mail settings
Submitter Tom Tromey
Date Feb. 13, 2018, 11:39 p.m.
Message ID <20180213233907.11259-5-tom@tromey.com>
Download mbox | patch
Permalink /patch/25931/
State New
Headers show

Comments

Tom Tromey - Feb. 13, 2018, 11:39 p.m.
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(-)

Patch

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;