[c++,4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*

Message ID 1444624329-4828-4-git-send-email-simon.marchi@polymtl.ca
State New, archived
Headers

Commit Message

Simon Marchi Oct. 12, 2015, 4:32 a.m. UTC
  /home/pedro/gdb/mygit/src/gdb/solib-frv.c: In function ‘int enable_break2()’:
/home/pedro/gdb/mygit/src/gdb/solib-frv.c:622:72: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
       addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");
                                                                        ^
In file included from /home/pedro/gdb/mygit/src/gdb/solib-frv.c:23:0:
/home/pedro/gdb/mygit/src/gdb/solib.h:82:18: error:   initializing argument 3 of ‘CORE_ADDR gdb_bfd_lookup_symbol(bfd*, int (*)(asymbol*, void*), void*)’ [-fpermissive]
 extern CORE_ADDR gdb_bfd_lookup_symbol (bfd *abfd,
                  ^

The call in question is:

      addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");

gdb/ChangeLog:

	* solib-dsbt.c (enable_break): Add cast.
	* solib-frv.c (enable_break2): Likewise.
---
 gdb/solib-dsbt.c | 3 ++-
 gdb/solib-frv.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
  

Comments

Yao Qi Oct. 12, 2015, 10:16 a.m. UTC | #1
Simon Marchi <simon.marchi@polymtl.ca> writes:

> /home/pedro/gdb/mygit/src/gdb/solib-frv.c: In function ‘int enable_break2()’:
> /home/pedro/gdb/mygit/src/gdb/solib-frv.c:622:72: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
>        addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");
>                                                                         ^
> In file included from /home/pedro/gdb/mygit/src/gdb/solib-frv.c:23:0:
> /home/pedro/gdb/mygit/src/gdb/solib.h:82:18: error:   initializing argument 3 of ‘CORE_ADDR gdb_bfd_lookup_symbol(bfd*, int (*)(asymbol*, void*), void*)’ [-fpermissive]
>  extern CORE_ADDR gdb_bfd_lookup_symbol (bfd *abfd,
>                   ^
>
> The call in question is:
>
>       addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");

Hi Simon,
Did you consider the possibility that changing argument 'data' type to
'const void *'? like this,

CORE_ADDR
gdb_bfd_lookup_symbol (bfd *abfd,
		       int (*match_sym) (asymbol *, void *),
		       const void *data)
  

Patch

diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c
index 3218bbe..f108034 100644
--- a/gdb/solib-dsbt.c
+++ b/gdb/solib-dsbt.c
@@ -876,7 +876,8 @@  enable_break (void)
 	    info->interp_plt_sect_low + bfd_section_size (tmp_bfd, interp_sect);
 	}
 
-      addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_state");
+      addr = gdb_bfd_lookup_symbol (tmp_bfd,
+				    cmp_name, (void *) "_dl_debug_state");
       if (addr != 0)
 	{
 	  if (solib_dsbt_debug)
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c
index 922ee36..db68ea5 100644
--- a/gdb/solib-frv.c
+++ b/gdb/solib-frv.c
@@ -619,7 +619,8 @@  enable_break2 (void)
 	    interp_plt_sect_low + bfd_section_size (tmp_bfd, interp_sect);
 	}
 
-      addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");
+      addr = gdb_bfd_lookup_symbol (tmp_bfd,
+				    cmp_name, (void *) "_dl_debug_addr");
 
       if (addr == 0)
 	{