Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH c++ 3/6] xtensa: Fix implicit enum conversions
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
                   ` (2 preceding siblings ...)
  2015-10-12  4:32 ` [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast Simon Marchi
@ 2015-10-12  4:32 ` Simon Marchi
  2015-10-22 13:39   ` Pedro Alves
  2015-10-12  4:37 ` [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1 Simon Marchi
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:32 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

XTREG is used with raw numbers, like:

...
  XTREG( 78,312,32, 4, 4,0x02d7,0x0007,-2, 2,0x1000,excsave7,    0,0,0,0,0,0)
  XTREG( 79,316, 8, 4, 4,0x02e0,0x0007,-2, 2,0x1000,cpenable,    0,0,0,0,0,0)
  XTREG( 80,320,22, 4, 4,0x02e2,0x000b,-2, 2,0x1000,interrupt,   0,0,0,0,0,0)
  XTREG( 81,324,22, 4, 4,0x02e2,0x000d,-2, 2,0x1000,intset,      0,0,0,0,0,0)
...

So just add the explicit cast to the macro.

In file included from /home/pedro/gdb/mygit/src/gdb/xtensa-config.c:25:0:
/home/pedro/gdb/mygit/src/gdb/xtensa-tdep.h:289:2: error: invalid conversion from ‘int’ to ‘call_abi_t’ [-fpermissive]
  }
  ^

gdb/ChangeLog:

	* xtensa-tdep.h (XTREG): Add casts.
	(XTREG_END): Likewise.
---
 gdb/xtensa-tdep.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
index fbf0e1d..275f40d 100644
--- a/gdb/xtensa-tdep.h
+++ b/gdb/xtensa-tdep.h
@@ -124,9 +124,13 @@ typedef struct
 
 /*  For xtensa-config.c to expand to the structure above.  */
 #define XTREG(index,ofs,bsz,sz,al,tnum,flg,cp,ty,gr,name,fet,sto,mas,ct,x,y) \
-	{#name, ofs, ty, ((gr) | ((xtRegisterGroupNCP >> 2) << (cp + 2))), \
+       {#name, ofs, (xtensa_register_type_t) (ty), \
+	((xtensa_register_group_t) \
+	 ((gr) | ((xtRegisterGroupNCP >> 2) << (cp + 2)))), \
 	 ct, bsz, sz, al, tnum, flg, cp, mas, fet, sto},
-#define XTREG_END {0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
+#define XTREG_END \
+  {0, 0, (xtensa_register_type_t) 0, (xtensa_register_group_t) 0,	\
+   0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
 
 #define XTENSA_REGISTER_FLAGS_PRIVILEGED	0x0001
 #define XTENSA_REGISTER_FLAGS_READABLE		0x0002
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
  2015-10-12  4:32 ` [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void* Simon Marchi
@ 2015-10-12  4:32 ` Simon Marchi
  2015-10-12 10:06   ` Yao Qi
  2015-10-12  4:32 ` [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast Simon Marchi
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:32 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

/home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c: In function ‘int aarch64_linux_syscall_record(regcache*, long unsigned int)’:
/home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:904:57: error: invalid conversion from ‘long unsigned int’ to ‘aarch64_syscall’ [-fpermissive]
   syscall_gdb = aarch64_canonicalize_syscall (svc_number);
                                                         ^
/home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:645:1: note:   initializing argument 1 of ‘gdb_syscall aarch64_canonicalize_syscall(aarch64_syscall)’
 aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
 ^

gdb/ChangeLog:

	* aarch64-linux-tdep.c (aarch64_linux_syscall_record): Add cast.
---
 gdb/aarch64-linux-tdep.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 9c3500c..82c4b84 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -901,7 +901,8 @@ aarch64_linux_syscall_record (struct regcache *regcache,
   int ret = 0;
   enum gdb_syscall syscall_gdb;
 
-  syscall_gdb = aarch64_canonicalize_syscall (svc_number);
+  syscall_gdb =
+    aarch64_canonicalize_syscall ((enum aarch64_syscall) svc_number);
 
   if (syscall_gdb < 0)
     {
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
  2015-10-12  4:32 ` [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void* Simon Marchi
  2015-10-12  4:32 ` [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast Simon Marchi
@ 2015-10-12  4:32 ` Simon Marchi
  2015-10-22 13:39   ` Pedro Alves
  2015-10-12  4:32 ` [PATCH c++ 3/6] xtensa: Fix implicit enum conversions Simon Marchi
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:32 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

Fixes this error:

/home/simark/src/binutils-gdb/gdb/solib-spu.c: In function ‘file_ptr spu_bfd_iovec_pread(bfd*, void*, void*, file_ptr, file_ptr)’:
/home/simark/src/binutils-gdb/gdb/solib-spu.c:299:55: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive]
   ret = target_read_memory (addr + offset, buf, nbytes);
                                                       ^
In file included from /home/simark/src/binutils-gdb/gdb/target.h:65:0,
                 from /home/simark/src/binutils-gdb/gdb/exec.h:23,
                 from /home/simark/src/binutils-gdb/gdb/gdbcore.h:29,
                 from /home/simark/src/binutils-gdb/gdb/solib-spu.c:23:
/home/simark/src/binutils-gdb/gdb/target/target.h:35:12: note:   initializing argument 2 of ‘int target_read_memory(CORE_ADDR, gdb_byte*, ssize_t)’
 extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr,

gdb/ChangeLog:

	* solib-spu.c (spu_bfd_iovec_pread): Add (gdb_byte *) cast.
---
 gdb/solib-spu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/solib-spu.c b/gdb/solib-spu.c
index 468ab1a..dca13e0 100644
--- a/gdb/solib-spu.c
+++ b/gdb/solib-spu.c
@@ -296,7 +296,7 @@ spu_bfd_iovec_pread (bfd *abfd, void *stream, void *buf,
   CORE_ADDR addr = *(CORE_ADDR *)stream;
   int ret;
 
-  ret = target_read_memory (addr + offset, buf, nbytes);
+  ret = target_read_memory (addr + offset, (gdb_byte *) buf, nbytes);
   if (ret != 0)
     {
       bfd_set_error (bfd_error_invalid_operation);
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
@ 2015-10-12  4:32 ` Simon Marchi
  2015-10-12 10:16   ` Yao Qi
  2015-10-12  4:32 ` [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast Simon Marchi
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:32 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

/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(-)

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)
 	{
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion
@ 2015-10-12  4:32 Simon Marchi
  2015-10-12  4:32 ` [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void* Simon Marchi
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:32 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

Fixes this error:

/home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:3091:1: error: invalid conversion from ‘int’ to ‘bfd_architecture’ [-fpermissive]
 };
 ^
/home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c: In function ‘void powerpc_set_vector_abi(char*, int, cmd_list_element*)’:
/home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:6063:28: error: invalid conversion from ‘int’ to ‘powerpc_vector_abi’ [-fpermissive]
  powerpc_vector_abi_global = vector_abi;
                            ^

gdb/ChangeLog:

	* rs6000-tdep.c (variants): Add (enum bfd_architecture) cast.
---
 gdb/rs6000-tdep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index baf6b67..589b996 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -3144,7 +3144,7 @@ static struct variant variants[] =
   {"rs2", "IBM POWER RS2", bfd_arch_rs6000,
    bfd_mach_rs6k_rs2, &tdesc_rs6000},
 
-  {0, 0, 0, 0, 0}
+  {0, 0, (enum bfd_architecture) 0, 0, 0}
 };
 
 /* Return the variant corresponding to architecture ARCH and machine number
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
                   ` (3 preceding siblings ...)
  2015-10-12  4:32 ` [PATCH c++ 3/6] xtensa: Fix implicit enum conversions Simon Marchi
@ 2015-10-12  4:37 ` Simon Marchi
  2015-10-12 10:01   ` Yao Qi
  2015-10-22  9:59 ` [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
  2015-10-22 13:39 ` Pedro Alves
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12  4:37 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi

Fixes:

/home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c: In function ‘gdb_syscall aarch64_canonicalize_syscall(aarch64_syscall)’:
/home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:874:13: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
     return -1;
             ^

gdb/ChangeLog:

	* aarch64-linux-tdep.c (aarch64_canonicalize_syscall): Return
	gdb_sys_no_syscall instead of -1.
---
 gdb/aarch64-linux-tdep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index aaf6608..9c3500c 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -871,7 +871,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
       SYSCALL_MAP (move_pages);
 
   default:
-    return -1;
+    return gdb_sys_no_syscall;
   }
 }
 
-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1
  2015-10-12  4:37 ` [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1 Simon Marchi
@ 2015-10-12 10:01   ` Yao Qi
  2015-10-12 16:26     ` Simon Marchi
  0 siblings, 1 reply; 19+ messages in thread
From: Yao Qi @ 2015-10-12 10:01 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

Simon Marchi <simon.marchi@polymtl.ca> writes:

> Fixes:
>
> /home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c: In function ‘gdb_syscall aarch64_canonicalize_syscall(aarch64_syscall)’:
> /home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:874:13: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
>      return -1;
>              ^
>
> gdb/ChangeLog:
>
> 	* aarch64-linux-tdep.c (aarch64_canonicalize_syscall): Return
> 	gdb_sys_no_syscall instead of -1.

Patch is OK.

-- 
Yao (齐尧)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast
  2015-10-12  4:32 ` [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast Simon Marchi
@ 2015-10-12 10:06   ` Yao Qi
  2015-10-12 16:26     ` Simon Marchi
  0 siblings, 1 reply; 19+ messages in thread
From: Yao Qi @ 2015-10-12 10:06 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

Simon Marchi <simon.marchi@polymtl.ca> writes:

> diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
> index 9c3500c..82c4b84 100644
> --- a/gdb/aarch64-linux-tdep.c
> +++ b/gdb/aarch64-linux-tdep.c
> @@ -901,7 +901,8 @@ aarch64_linux_syscall_record (struct regcache *regcache,
>    int ret = 0;
>    enum gdb_syscall syscall_gdb;
>  
> -  syscall_gdb = aarch64_canonicalize_syscall (svc_number);
> +  syscall_gdb =
> +    aarch64_canonicalize_syscall ((enum aarch64_syscall) svc_number);

Patch is OK.

-- 
Yao (齐尧)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*
  2015-10-12  4:32 ` [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void* Simon Marchi
@ 2015-10-12 10:16   ` Yao Qi
  2015-10-12 16:14     ` Simon Marchi
  0 siblings, 1 reply; 19+ messages in thread
From: Yao Qi @ 2015-10-12 10:16 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

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)

-- 
Yao (齐尧)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*
  2015-10-12 10:16   ` Yao Qi
@ 2015-10-12 16:14     ` Simon Marchi
  2015-10-13 16:09       ` Yao Qi
  0 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-12 16:14 UTC (permalink / raw)
  To: Yao Qi, Simon Marchi; +Cc: gdb-patches

On 12/10/15 06:16 AM, Yao Qi wrote:
> 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)

Hi Yao,

I thought I did and that it wasn't possible, but I guess I confused this
change with another one.  It seems to be possible, here is the updated patch:



From 83c9c91ae836a67faecaff4cf73d410b298508f4 Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon, 12 Oct 2015 10:36:33 -0400
Subject: [PATCH] Constify arguments of gdb_bfd_lookup_symbol and related
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

/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 (cmp_name): Constify arguments.
	* solib-frv.c (cmp_name): Likewise.
	* solib-svr4.c (svr4_create_solib_event_breakpoints): Likewise.
	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Likewise.
	(bfd_lookup_symbol_from_dyn_symtab): Likewise.
	(gdb_bfd_lookup_symbol): Likewise.
	* solib.h (gdb_bfd_lookup_symbol): Likewise.
	(gdb_bfd_lookup_symbol_from_symtab): Likewise.
---
 gdb/solib-dsbt.c |  2 +-
 gdb/solib-frv.c  |  2 +-
 gdb/solib-svr4.c |  4 ++--
 gdb/solib.c      | 14 ++++++++------
 gdb/solib.h      | 12 +++++++-----
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c
index 3218bbe..d01f9db 100644
--- a/gdb/solib-dsbt.c
+++ b/gdb/solib-dsbt.c
@@ -777,7 +777,7 @@ enable_break_failure_warning (void)
 /* Helper function for gdb_bfd_lookup_symbol.  */

 static int
-cmp_name (asymbol *sym, void *data)
+cmp_name (const asymbol *sym, const void *data)
 {
   return (strcmp (sym->name, (const char *) data) == 0);
 }
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c
index 922ee36..451bbdf 100644
--- a/gdb/solib-frv.c
+++ b/gdb/solib-frv.c
@@ -484,7 +484,7 @@ enable_break_failure_warning (void)
 /* Helper function for gdb_bfd_lookup_symbol.  */

 static int
-cmp_name (asymbol *sym, void *data)
+cmp_name (const asymbol *sym, const void *data)
 {
   return (strcmp (sym->name, (const char *) data) == 0);
 }
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 55b8f55..2dc1692 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -2220,7 +2220,7 @@ svr4_create_solib_event_breakpoints (struct gdbarch *gdbarch,
 /* Helper function for gdb_bfd_lookup_symbol.  */

 static int
-cmp_name_and_sec_flags (asymbol *sym, void *data)
+cmp_name_and_sec_flags (const asymbol *sym, const void *data)
 {
   return (strcmp (sym->name, (const char *) data) == 0
 	  && (sym->section->flags & (SEC_CODE | SEC_DATA)) != 0);
@@ -2480,7 +2480,7 @@ enable_break (struct svr4_info *info, int from_tty)
       for (bkpt_namep = solib_break_names; *bkpt_namep != NULL; bkpt_namep++)
 	{
 	  sym_addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name_and_sec_flags,
-					    (void *) *bkpt_namep);
+					    *bkpt_namep);
 	  if (sym_addr != 0)
 	    break;
 	}
diff --git a/gdb/solib.c b/gdb/solib.c
index 9a6e7de..ca2c9ab 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -1533,8 +1533,9 @@ solib_global_lookup (struct objfile *objfile,

 CORE_ADDR
 gdb_bfd_lookup_symbol_from_symtab (bfd *abfd,
-				   int (*match_sym) (asymbol *, void *),
-				   void *data)
+				   int (*match_sym) (const asymbol *,
+						     const void *),
+				   const void *data)
 {
   long storage_needed = bfd_get_symtab_upper_bound (abfd);
   CORE_ADDR symaddr = 0;
@@ -1592,8 +1593,9 @@ gdb_bfd_lookup_symbol_from_symtab (bfd *abfd,

 static CORE_ADDR
 bfd_lookup_symbol_from_dyn_symtab (bfd *abfd,
-				   int (*match_sym) (asymbol *, void *),
-				   void *data)
+				   int (*match_sym) (const asymbol *,
+						     const void *),
+				   const void *data)
 {
   long storage_needed = bfd_get_dynamic_symtab_upper_bound (abfd);
   CORE_ADDR symaddr = 0;
@@ -1630,8 +1632,8 @@ bfd_lookup_symbol_from_dyn_symtab (bfd *abfd,

 CORE_ADDR
 gdb_bfd_lookup_symbol (bfd *abfd,
-		       int (*match_sym) (asymbol *, void *),
-		       void *data)
+		       int (*match_sym) (const asymbol *, const void *),
+		       const void *data)
 {
   CORE_ADDR symaddr = gdb_bfd_lookup_symbol_from_symtab (abfd, match_sym, data);

diff --git a/gdb/solib.h b/gdb/solib.h
index 336971d..165df9c 100644
--- a/gdb/solib.h
+++ b/gdb/solib.h
@@ -80,15 +80,17 @@ extern int libpthread_name_p (const char *name);
 /* Look up symbol from both symbol table and dynamic string table.  */

 extern CORE_ADDR gdb_bfd_lookup_symbol (bfd *abfd,
-					int (*match_sym) (asymbol *, void *),
-					void *data);
+					int (*match_sym) (const asymbol *,
+							  const void *),
+					const void *data);

 /* Look up symbol from symbol table.  */

 extern CORE_ADDR gdb_bfd_lookup_symbol_from_symtab (bfd *abfd,
-						    int (*match_sym) (asymbol *,
-								      void *),
-						    void *data);
+						    int (*match_sym)
+						      (const asymbol *,
+						       const void *),
+						    const void *data);

 /* Enable or disable optional solib event breakpoints as appropriate.  */

-- 
2.6.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1
  2015-10-12 10:01   ` Yao Qi
@ 2015-10-12 16:26     ` Simon Marchi
  0 siblings, 0 replies; 19+ messages in thread
From: Simon Marchi @ 2015-10-12 16:26 UTC (permalink / raw)
  To: Yao Qi, Simon Marchi; +Cc: gdb-patches



On 12/10/15 06:01 AM, Yao Qi wrote:
> Simon Marchi <simon.marchi@polymtl.ca> writes:
> 
>> Fixes:
>>
>> /home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c: In function ‘gdb_syscall aarch64_canonicalize_syscall(aarch64_syscall)’:
>> /home/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:874:13: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
>>      return -1;
>>              ^
>>
>> gdb/ChangeLog:
>>
>> 	* aarch64-linux-tdep.c (aarch64_canonicalize_syscall): Return
>> 	gdb_sys_no_syscall instead of -1.
> 
> Patch is OK.
> 

Pushed, thanks!


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast
  2015-10-12 10:06   ` Yao Qi
@ 2015-10-12 16:26     ` Simon Marchi
  0 siblings, 0 replies; 19+ messages in thread
From: Simon Marchi @ 2015-10-12 16:26 UTC (permalink / raw)
  To: Yao Qi, Simon Marchi; +Cc: gdb-patches



On 12/10/15 06:06 AM, Yao Qi wrote:
> Simon Marchi <simon.marchi@polymtl.ca> writes:
> 
>> diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
>> index 9c3500c..82c4b84 100644
>> --- a/gdb/aarch64-linux-tdep.c
>> +++ b/gdb/aarch64-linux-tdep.c
>> @@ -901,7 +901,8 @@ aarch64_linux_syscall_record (struct regcache *regcache,
>>    int ret = 0;
>>    enum gdb_syscall syscall_gdb;
>>  
>> -  syscall_gdb = aarch64_canonicalize_syscall (svc_number);
>> +  syscall_gdb =
>> +    aarch64_canonicalize_syscall ((enum aarch64_syscall) svc_number);
> 
> Patch is OK.
> 

Pushed, thanks!


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*
  2015-10-12 16:14     ` Simon Marchi
@ 2015-10-13 16:09       ` Yao Qi
  2015-10-13 16:44         ` Simon Marchi
  0 siblings, 1 reply; 19+ messages in thread
From: Yao Qi @ 2015-10-13 16:09 UTC (permalink / raw)
  To: Simon Marchi; +Cc: Yao Qi, Simon Marchi, gdb-patches

Simon Marchi <thundersim@gmail.com> writes:

> gdb/ChangeLog:
>
> 	* solib-dsbt.c (cmp_name): Constify arguments.
> 	* solib-frv.c (cmp_name): Likewise.
> 	* solib-svr4.c (svr4_create_solib_event_breakpoints): Likewise.
> 	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Likewise.
> 	(bfd_lookup_symbol_from_dyn_symtab): Likewise.
> 	(gdb_bfd_lookup_symbol): Likewise.
> 	* solib.h (gdb_bfd_lookup_symbol): Likewise.
> 	(gdb_bfd_lookup_symbol_from_symtab): Likewise.

Patch is OK.

-- 
Yao (齐尧)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void*
  2015-10-13 16:09       ` Yao Qi
@ 2015-10-13 16:44         ` Simon Marchi
  0 siblings, 0 replies; 19+ messages in thread
From: Simon Marchi @ 2015-10-13 16:44 UTC (permalink / raw)
  To: Yao Qi; +Cc: gdb-patches

On 13 October 2015 at 12:09, Yao Qi <qiyaoltc@gmail.com> wrote:
> Patch is OK.


Thanks, pushed!


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
                   ` (4 preceding siblings ...)
  2015-10-12  4:37 ` [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1 Simon Marchi
@ 2015-10-22  9:59 ` Simon Marchi
  2015-10-22 15:27   ` Simon Marchi
  2015-10-22 13:39 ` Pedro Alves
  6 siblings, 1 reply; 19+ messages in thread
From: Simon Marchi @ 2015-10-22  9:59 UTC (permalink / raw)
  To: gdb-patches

On 15-10-12 12:32 AM, Simon Marchi wrote:
> Fixes this error:
> 
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:3091:1: error: invalid conversion from ‘int’ to ‘bfd_architecture’ [-fpermissive]
>  };
>  ^
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c: In function ‘void powerpc_set_vector_abi(char*, int, cmd_list_element*)’:
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:6063:28: error: invalid conversion from ‘int’ to ‘powerpc_vector_abi’ [-fpermissive]
>   powerpc_vector_abi_global = vector_abi;
>                             ^
> 
> gdb/ChangeLog:
> 
> 	* rs6000-tdep.c (variants): Add (enum bfd_architecture) cast.
> ---
>  gdb/rs6000-tdep.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
> index baf6b67..589b996 100644
> --- a/gdb/rs6000-tdep.c
> +++ b/gdb/rs6000-tdep.c
> @@ -3144,7 +3144,7 @@ static struct variant variants[] =
>    {"rs2", "IBM POWER RS2", bfd_arch_rs6000,
>     bfd_mach_rs6k_rs2, &tdesc_rs6000},
>  
> -  {0, 0, 0, 0, 0}
> +  {0, 0, (enum bfd_architecture) 0, 0, 0}
>  };
>  
>  /* Return the variant corresponding to architecture ARCH and machine number
> 

Ping for patches 1, 2 and 3.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 3/6] xtensa: Fix implicit enum conversions
  2015-10-12  4:32 ` [PATCH c++ 3/6] xtensa: Fix implicit enum conversions Simon Marchi
@ 2015-10-22 13:39   ` Pedro Alves
  0 siblings, 0 replies; 19+ messages in thread
From: Pedro Alves @ 2015-10-22 13:39 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 10/12/2015 05:32 AM, Simon Marchi wrote:
> XTREG is used with raw numbers, like:
> 
> ...
>   XTREG( 78,312,32, 4, 4,0x02d7,0x0007,-2, 2,0x1000,excsave7,    0,0,0,0,0,0)
>   XTREG( 79,316, 8, 4, 4,0x02e0,0x0007,-2, 2,0x1000,cpenable,    0,0,0,0,0,0)
>   XTREG( 80,320,22, 4, 4,0x02e2,0x000b,-2, 2,0x1000,interrupt,   0,0,0,0,0,0)
>   XTREG( 81,324,22, 4, 4,0x02e2,0x000d,-2, 2,0x1000,intset,      0,0,0,0,0,0)
> ...
> 
> So just add the explicit cast to the macro.
> 
> In file included from /home/pedro/gdb/mygit/src/gdb/xtensa-config.c:25:0:
> /home/pedro/gdb/mygit/src/gdb/xtensa-tdep.h:289:2: error: invalid conversion from ‘int’ to ‘call_abi_t’ [-fpermissive]
>   }
>   ^
> 
> gdb/ChangeLog:
> 
> 	* xtensa-tdep.h (XTREG): Add casts.
> 	(XTREG_END): Likewise.

OK.

Thanks,
Pedro Alves


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast
  2015-10-12  4:32 ` [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast Simon Marchi
@ 2015-10-22 13:39   ` Pedro Alves
  0 siblings, 0 replies; 19+ messages in thread
From: Pedro Alves @ 2015-10-22 13:39 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 10/12/2015 05:32 AM, Simon Marchi wrote:
> Fixes this error:
> 
> /home/simark/src/binutils-gdb/gdb/solib-spu.c: In function ‘file_ptr spu_bfd_iovec_pread(bfd*, void*, void*, file_ptr, file_ptr)’:
> /home/simark/src/binutils-gdb/gdb/solib-spu.c:299:55: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive]
>    ret = target_read_memory (addr + offset, buf, nbytes);
>                                                        ^
> In file included from /home/simark/src/binutils-gdb/gdb/target.h:65:0,
>                  from /home/simark/src/binutils-gdb/gdb/exec.h:23,
>                  from /home/simark/src/binutils-gdb/gdb/gdbcore.h:29,
>                  from /home/simark/src/binutils-gdb/gdb/solib-spu.c:23:
> /home/simark/src/binutils-gdb/gdb/target/target.h:35:12: note:   initializing argument 2 of ‘int target_read_memory(CORE_ADDR, gdb_byte*, ssize_t)’
>  extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr,
> 
> gdb/ChangeLog:
> 
> 	* solib-spu.c (spu_bfd_iovec_pread): Add (gdb_byte *) cast.

OK.

Thanks,
Pedro Alves


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion
  2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
                   ` (5 preceding siblings ...)
  2015-10-22  9:59 ` [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
@ 2015-10-22 13:39 ` Pedro Alves
  6 siblings, 0 replies; 19+ messages in thread
From: Pedro Alves @ 2015-10-22 13:39 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 10/12/2015 05:32 AM, Simon Marchi wrote:
> Fixes this error:
> 
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:3091:1: error: invalid conversion from ‘int’ to ‘bfd_architecture’ [-fpermissive]
>  };
>  ^
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c: In function ‘void powerpc_set_vector_abi(char*, int, cmd_list_element*)’:
> /home/pedro/gdb/mygit/src/gdb/rs6000-tdep.c:6063:28: error: invalid conversion from ‘int’ to ‘powerpc_vector_abi’ [-fpermissive]
>   powerpc_vector_abi_global = vector_abi;
>                             ^
> 
> gdb/ChangeLog:
> 
> 	* rs6000-tdep.c (variants): Add (enum bfd_architecture) cast.

OK.

Thanks,
Pedro Alves


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion
  2015-10-22  9:59 ` [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
@ 2015-10-22 15:27   ` Simon Marchi
  0 siblings, 0 replies; 19+ messages in thread
From: Simon Marchi @ 2015-10-22 15:27 UTC (permalink / raw)
  To: gdb-patches

On 15-10-21 02:45 PM, Simon Marchi wrote:
> Ping for patches 1, 2 and 3.

This is now all pushed.



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-10-22 13:51 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-12  4:32 [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
2015-10-12  4:32 ` [PATCH c++ 4/6] gdb_bfd_lookup_symbol: Cast const char* arguments to void* Simon Marchi
2015-10-12 10:16   ` Yao Qi
2015-10-12 16:14     ` Simon Marchi
2015-10-13 16:09       ` Yao Qi
2015-10-13 16:44         ` Simon Marchi
2015-10-12  4:32 ` [PATCH c++ 6/6] aarch64: Add cast for integer to enum cast Simon Marchi
2015-10-12 10:06   ` Yao Qi
2015-10-12 16:26     ` Simon Marchi
2015-10-12  4:32 ` [PATCH c++ 2/6] solib-spu: Add gdb_byte* cast Simon Marchi
2015-10-22 13:39   ` Pedro Alves
2015-10-12  4:32 ` [PATCH c++ 3/6] xtensa: Fix implicit enum conversions Simon Marchi
2015-10-22 13:39   ` Pedro Alves
2015-10-12  4:37 ` [PATCH c++ 5/6] aarch64: Use gdb_sys_no_syscall enum instead of -1 Simon Marchi
2015-10-12 10:01   ` Yao Qi
2015-10-12 16:26     ` Simon Marchi
2015-10-22  9:59 ` [PATCH c++ 1/6] rs6000: Add cast for int to enum conversion Simon Marchi
2015-10-22 15:27   ` Simon Marchi
2015-10-22 13:39 ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox