This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] x86-64 segment registers handling
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: Michal Ludvig <mludvig at suse dot cz>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 26 Mar 2002 12:58:24 -0500
- Subject: Re: [RFA] x86-64 segment registers handling
- References: <3CA0AF53.8030609@suse.cz>
> 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.)