This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Replace char * with something sensible


   Date: Tue, 3 May 2005 15:58:15 -0400
   From: Daniel Jacobowitz <drow@false.org>

   On Tue, May 03, 2005 at 10:51:02PM +0300, Eli Zaretskii wrote:
   > Rumor has it that latest versions of GCC whine about mixing "char *"
   > and "unsigned char *".  To fix that, Andrew committed some patches
   > that replace these with a "bfd_byte *", but I think we should not use
   > BFD data types in GDB unless they refer to data structures returned by
   > functions from the BFD library.
   > 
   > Possible solutions:
   > 
   >  . use "void *" (suggested by Mark Kettenis).
   > 
   >  . define a new data type gdb_byte and use "gdb_byte *".
   > 
   > I think Mark's suggestion should be considered first, since it avoids
   > the pain of introducing yet another custom data type.

   I am marginally in favor of gdb_byte.  What pain would it cause,
   besides a huge sed for the existing bfd_byte cases?

I hope my (somewhat lengthy) post can change your mind ;-).

   These are byte-oriented buffers, so using a type where we can perform
   byte-oriented arithmetic without superfluous casts seems like a good
   choice to me.  Converting to void * (and not using the GCC extension
   which allows arithmetic on void *) would be a painful process.

We have -Wpointer-arith in our standard warning flags so there's no
risk in us using that darn GCC extension.

   It's not as if non-8-bit-byte support is anywhere on our horizon.

And it is probably completely irrelevant for this discussion.

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]