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]

info registers output


On 08/01/2012 08:40 PM, Ulrich Weigand wrote:
> Pedro Alves wrote:

>> Why is the output format different?  It looks like consistency here would be good.
> 
> The problem is that "pc", "fp", etc can refer to different things under
> the covers: either a register defined by the target code, or else a
> "user register" defined by GDB common code.
> 
> On many targets (but not Intel), "pc" is the name of a register defined
> by the target.  In this case, registers_info uses the standard
> gdbarch_print_registers_info routine to output its content; this gives
> a larger space between register name and value, and outputs the
> contents both in hex and in the register's default type, usually a
> function pointer type.
> 
> On targets where "pc" is *not* the name of a register defined by the
> target, registers_info still recognizes the name as "user register",
> and uses a separate code path to print its value.  This results in
> a different (shorter) output ...

Ah.  I wonder if that's been made on purpose.  You get this on amd64:

(gdb) info registers rip pc
rip            0x390f407e68     0x390f407e68 <start_thread+552>
pc: 0x390f407e68

GDB knows the type of "pc", and so should be able to print "pc" like "rip".

Would that be a good idea?

-- 
Pedro Alves


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