Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [RFC] solib-svr4.c gdb_byteised.
@ 2005-05-26 22:50 Manoj Iyer
  2005-05-27  4:41 ` M.M. Kettenis
  2005-06-03 21:14 ` Kevin Buettner
  0 siblings, 2 replies; 12+ messages in thread
From: Manoj Iyer @ 2005-05-26 22:50 UTC (permalink / raw)
  To: gdb-patches


solib-svr4.c compiles without errors on ppc64 with gcc4.0. Here is a
patch...


2005-05-26  Manoj Iyer  <manjo@austin.ibm.com>

	* solib-svr4.c: lm_info structure convert type of lm to gdb_byte.
	(elf_locate_base): Converted types of buf, bufend, pbuf, to gdb_byte.
	(first_link_map_member): Converted type of r_map_buf to gdb_byte.
	(open_symbol_file_object): Converted type of l_name_buf to gdb_byte.
	(svr4_fetch_objfile_link_map): Converted type of l_name_buf to
	gdb_byte.

--------------------------------------------------------------------------
--- old/src/gdb/solib-svr4.c	2005-04-27 15:51:52.000000000 -0500
+++ new/src/gdb/solib-svr4.c	2005-05-26 17:05:10.000000000 -0500
@@ -57,7 +57,7 @@ struct lm_info
     /* Pointer to copy of link map from inferior.  The type is char *
        rather than void *, so that we may use byte offsets to find the
        various fields without the need for a cast.  */
-    char *lm;
+    gdb_byte *lm;
   };

 /* On SVR4 systems, a list of symbols in the dynamic linker where
@@ -292,8 +292,8 @@ elf_locate_base (void)
   struct bfd_section *dyninfo_sect;
   int dyninfo_sect_size;
   CORE_ADDR dyninfo_addr;
-  char *buf;
-  char *bufend;
+  gdb_byte *buf;
+  gdb_byte *bufend;
   int arch_size;

   /* Find the start address of the .dynamic section.  */
@@ -337,7 +337,7 @@ elf_locate_base (void)
 	    }
 	  else if (dyn_tag == DT_MIPS_RLD_MAP)
 	    {
-	      char *pbuf;
+	      gdb_byte *pbuf;
 	      int pbuf_size = TARGET_PTR_BIT / HOST_CHAR_BIT;

 	      pbuf = alloca (pbuf_size);
@@ -372,7 +372,7 @@ elf_locate_base (void)
 	    }
 	  else if (dyn_tag == DT_MIPS_RLD_MAP)
 	    {
-	      char *pbuf;
+	      gdb_byte *pbuf;
 	      int pbuf_size = TARGET_PTR_BIT / HOST_CHAR_BIT;

 	      pbuf = alloca (pbuf_size);
@@ -468,7 +468,7 @@ first_link_map_member (void)
 {
   CORE_ADDR lm = 0;
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
-  char *r_map_buf = xmalloc (lmo->r_map_size);
+  gdb_byte *r_map_buf = xmalloc (lmo->r_map_size);
   struct cleanup *cleanups = make_cleanup (xfree, r_map_buf);

   read_memory (debug_base + lmo->r_map_offset, r_map_buf, lmo->r_map_size);
@@ -515,7 +515,7 @@ open_symbol_file_object (void *from_ttyp
   int errcode;
   int from_tty = *(int *)from_ttyp;
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
-  char *l_name_buf = xmalloc (lmo->l_name_size);
+  gdb_byte *l_name_buf = xmalloc (lmo->l_name_size);
   struct cleanup *cleanups = make_cleanup (xfree, l_name_buf);

   if (symfile_objfile)
@@ -690,7 +690,7 @@ svr4_fetch_objfile_link_map (struct objf
       struct lm_info objfile_lm_info;
       struct cleanup *old_chain;
       CORE_ADDR name_address;
-      char *l_name_buf = xmalloc (lmo->l_name_size);
+      gdb_byte *l_name_buf = xmalloc (lmo->l_name_size);
       old_chain = make_cleanup (xfree, l_name_buf);

       /* Set up the buffer to contain the portion of the link_map
-----
manjo
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Cogito ergo sum                                                          +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [RFC] solib-svr4.c gdb_byteised.
@ 2005-05-31 20:45 Paul Schlie
  2005-05-31 22:22 ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Paul Schlie @ 2005-05-31 20:45 UTC (permalink / raw)
  To: Manoj Iyer, M.M. Kettenis, gdb-patches

> gcc4.0 complained abt the signedness...
>
> reversing gdb_byte to char for l_name_buf

Unfortunately because GCC is schizophrenic.

As although it has no problems assigning variables to each other which
only differ in sign-ness (which may alter a value), it feels compelled
warn about operations on pointers to such values (which are harmless).

(arguably it seems that the best remedy would be to correct GCC, not attempt
to appease it; as alternatively if all char's become gdb_byte, then might as
well revert gdb_byte use, and simply compile with 'unsigned char'.)






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

end of thread, other threads:[~2005-06-12  0:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-26 22:50 [RFC] solib-svr4.c gdb_byteised Manoj Iyer
2005-05-27  4:41 ` M.M. Kettenis
2005-05-27  4:54   ` Manoj Iyer
2005-05-31 16:06     ` Manoj Iyer
2005-06-03 21:09   ` Kevin Buettner
2005-06-12  0:04     ` Mark Kettenis
2005-06-03 21:14 ` Kevin Buettner
2005-06-06 22:26   ` [PATCH] " Manoj Iyer
2005-06-07  0:07     ` Daniel Jacobowitz
2005-06-07  8:34       ` Manoj Iyer
2005-05-31 20:45 [RFC] " Paul Schlie
2005-05-31 22:22 ` Eli Zaretskii

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