Re: [RFA] x86-64 segment registers handling

Andrew Cagney
2002-03-26T18:00:13Z

> 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.)