Re: [RFA] x86-64 segment registers handling

Daniel Jacobowitz
2002-03-26T18:14:03Z

On Tue, Mar 26, 2002 at 06:26:43PM +0100, Michal Ludvig wrote:
> 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-linux-nat.c (x86_64_regmap): Swapped
> RBX <> RDX, added DS, ES, FD, GS

Can you update gdbserver/linux-x86-64-low.c with these changes, please?

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

Also, it appears that you changed the layout of GDB's register cache
for x86-64. At this time that means you also changed the remote
protocol. regformats/reg-x86-64.dat also needs to be updated.

--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer