This is the mail archive of the gdb-patches@sourceware.org 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: [Commit] gdb/pascal language 2 or 4 byte char support in strings



> -----Message d'origine-----
> De?: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Jonas Maebe
> Envoyé?: Tuesday, February 10, 2009 3:32 PM
> À?: Pierre Muller
> Cc?: 'gdb-patches ml'; 'FPC Core Developer List'; gpc@gnu.de
> Objet?: Re: [Commit] gdb/pascal language 2 or 4 byte char support in
> strings
> 
> 
> On 10 Feb 2009, at 01:15, Pierre Muller wrote:
> 
> >  I committed the patch below to add
> > support for fixed width chars
> > greater than 1 for pascal language.
> >
> >  This works nicely for Free Pascal,
> > I couldn't test it for GPC
> > because I didn't find out if those kind of char are supported...
> 
> Hi Pierre,
> 
> A while ago I wrote a similar patch. I didn't submit it yet because I
> didn't find time to write explanations why I did everything and on
> writing test cases for all changes.
> 
> Anyway, it's in attachment (it's against the p-*.c files before your
> patch though). Some comments:
> * pascal-dwarf-char.patch:
> This one is independent from and complementary to your patch : it
> properly sets the TYPE_CODE DW_ATE_signed_char/DW_ATE_unsigned_char to
> TYPE_CODE_CHAR in case of Pascal (rather than only for Ada and Modula-
> 2)
 OK, I will submit this patch to the dwarf maintainer.
 
> * pascalchar.patch:
> a) I removed all situations in the Pascal string handling where
> "TYPE_CODE (elttype) == TYPE_CODE_INT" is interpreted as a character.
> I don't know the original reason for having it there though, but maybe
> it was because of the lack of a)? At least the stabs debug info of both
> FPC and GPC results in a char (negative type number -2, as mentioned at
> http://sourceware.org/gdb/current/onlinedocs/stabs_5.html#SEC35)

  I agree with you with one exception:
I think that TYPE_CODE_INT should be accepted if the /s format option was
specified.

> , which gdb turns into a TYPE_CODE_CHAR. I don't know about GPC and
> Dwarf, but FPC and Dwarf results in DW_ATE_unsigned_char. The main
> problem with considering TYPE_CODE_INT as characters is that arrays of
> bytes (and now presumably also of words and cardinals) are printed as
> character arrays, which is quite annoying.
> b) my changes to p-lang.c were basically a copy/paste if all changes in
> the C version of print_string to support characters of different widths

  I will try to modify the pascal code so that 
only TYPE_CODE_CHAR and /s generated string output.


Pierre Muller
Pascal language support maintainer for GDB





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