This is the mail archive of the gdb@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: register type as signed or unsigned?


>  On Wed, 11 Oct 2006 02:37:57 +0200, ligang@sunnorth.com.cn wrote:
> > Daniel Jacobowitz <drow@false.org> wrote on 2006-10-10 20:50:02:
>  ...
> > > No; in fact, it doesn't make much difference.  You should use
> > whichever
> > > is "more natural" for your target instruction set; it will affect
> > > "print $reg" and "info reg".
> >
> > That is to say, whether builtin_type_int32 or builtin_type_uint32 is
> > correct for GDB.
>
>  If the register is used as address, use "uint32".

If the register is typically used as an address, builtin_type_void_data_ptr
is probably more appropriate.  For the instruction pointer you should use
builtin_type_void_func_ptr though.

>  If it is used for general computation incl. offsets in memory, use
>  "int32".
>  "uint32" should be IMO a safer bet but sometimes you may need
>  `(int)$regname'.

int32 is IMHO more useful since actually large unsigned numbers are rare.
But if your CPU only supports unsigned integer math, uint32 is the right
choice.

Mark




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