This is the mail archive of the gdb-patches@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: [RFA] x86-64 segment registers handling


> Hi all,
> this patch synces gdb with recent ABI changes in x86-64 kernel, which added segment registers to user_regs_struct in corefile and ptrace() call. Because it was hard to find all places which could depend on this change I also did a cleanup. I joined most of registers information to one structure at the beginning of x86-64-tdep.c to make it more readable  and maintainable and changed some "anonymous constants" (numbers) to derivatives of #defines.
> Can I commit?
> 
> Index: ChangeLog
>     * x86-64-tdep.h (X86_64_NUM_REGS)
>     (X86_64_NUM_GREGS): Delete #defines
>     (x86_64_num_regs)
>     (x86_64_num_gregs): Added extern variables.
>     * x86-64-linux-nat.c (x86_64_regmap): Swapped
>     RBX <> RDX, added DS, ES, FD, GS
>     (x86_64_linux_dr_get_status), (supply_gregset),
>     (fill_gregset): Changed X86_64_NUM_GREGS to
>     x86_64_num_gregs
>     * x86-64-tdep.c (x86_64_register_raw_size_table): Delete
>     (x86_64_register_info_table): Add
>     (X86_64_NUM_REGS, X86_64_NUM_GREGS): Add
>     (x86_64_register_raw_size),
>     (x86_64_register_virtual_type),
>     (x86_64_register_name),
>     (_initialize_x86_64_tdep): Changed to reflect new
>     general x86_64_register_info_table.
>     (i386_gdbarch_init): gdbarch_register_bytes is now set
>     dynamicaly during initialization.
> 
> Michal Ludvig

Yes.

Andrew

PS: Some stylistic hints :-)

ChangeLogs are full sentences so start with a capital and end with a 
full stop.  The entry
 >     (x86_64_register_raw_size),
 >     (x86_64_register_virtual_type),
 >     (x86_64_register_name),
 >     (_initialize_x86_64_tdep): Changed to reflect new
is written as:
 >     (x86_64_register_raw_size, x86_64_register_virtual_type)
 >     (x86_64_register_name, _initialize_x86_64_tdep): Changed
	to reflect new
(but I'm not 100% sure - Eli is better at this - and after too many 
years I'm still learning it :-)

Structs are indented as:

struct foo
{
   int blah;
};

(but that isn't documented as I've not gotten around to getting it added 
to the GNU style guide.)




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