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: PATCH: Support x86 pseudo registers


On Wednesday 03 March 2010 17:33:21, Eli Zaretskii wrote:
>  * X86 general purpose registers
> 
>    GDB now supports reading/writing byte, word and double-word x86
>    general purpose registers directly.  This means you can use, say,
>    $ah or $ax to refer, respectively, to the byte register AH and
>    16-bit word register AX that are actually portions of the 32-bit
>    register EAX or 64-bit register RAX.
> 

I just realized that this change means that $sp is now just
a 16-bit word of $esp, instead of a pseudo-register resolving to
either $esp/$rsp (32-bit/64-bit).  I can't say it is actually wrong to
have it that way, but, I think this should at least be mentioned in
NEWS, if not in the manual too, because it can catch people
by surprise.

old:

 (top-gdb) p $sp
 $1 = (void *) 0x7fffffffdff0
 (top-gdb) ptype $sp
 type = void *

new:

 (top-gdb) p $sp
 $2 = -8176
 (top-gdb) ptype $sp
 type = int16_t
 (top-gdb)


-- 
Pedro Alves


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