* PING: PATCH: Enable x86 XML target descriptions
@ 2010-02-28 15:40 H.J. Lu
2010-02-28 18:51 ` Daniel Jacobowitz
0 siblings, 1 reply; 4+ messages in thread
From: H.J. Lu @ 2010-02-28 15:40 UTC (permalink / raw)
To: GDB
On Mon, Feb 22, 2010 at 1:03 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> On Thu, Feb 18, 2010 at 03:01:35PM -0800, H.J. Lu wrote:
>> On Thu, Feb 18, 2010 at 07:34:02AM -0800, H.J. Lu wrote:
>> > On Wed, Feb 17, 2010 at 09:43:12PM -0800, H.J. Lu wrote:
>> > > On Wed, Feb 10, 2010 at 12:03:03PM -0800, H.J. Lu wrote:
>> > > > Hi,
>> > > >
>> > > > This patch enables x86 XML target descriptions. I used
>> > > > i386_linux_init_orig_eax to support the old gdbserver which doesn't
>> > > > have XML target descriptions.
>> > > >
>> > > > The register description processing is handled in i386_gdbarch_init
>> > > > for 32bit/64bit as well as all ABIs to avoid code duplication and
>> > > > unnecessary complexity.
>> > > >
>> > > > OK to install?
>> > > >
>> > >
>> > > Here is the updated patch. I removed all BFD64 from i386 files. I
>> > > renamed I386_NUM_FREGS to I387_NUM_REGS and put it in i387-tdep.h.
>> > > I use it in amd64-tdep.c. I added a few fields to gdbarch_tdep so
>> > > that I can pass values from xxx_abit_init to i386_gdbarch_init. OK
>> > > to install?
>> > >
>> > > Thanks.
>> > >
>> > >
>> >
>> > A small update. I added I386_MXCSR_REGNUM so that "i387-tdep.h"
>> > isn't added for amd64-linux-nat.c, amd64-linux-tdep.c and
>> > i386-linux-tdep.c. OK to install?
>> >
>>
>> A small bug fix. amd64_linux_read_description should return
>> tdesc_i386_linux for 32bit.
>>
>
> Here is the updated patch. I have addressed all issues raised so far
> as mush as I can. Any comments/suggestions?
>
> Thanks.
>
>
> H.J.
> ---
> gdb/
>
> 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
>
> * amd64-linux-nat.c (amd64_linux_read_description): New.
> (_initialize_amd64_linux_nat): Set to_read_description to
> amd64_linux_read_description.
>
> * amd64-linux-tdep.c: Include "features/i386/amd64-linux.c".
> (amd64_linux_register_name): Removed.
> (amd64_linux_register_type): Likewise.
> (amd64_linux_core_read_description): New.
> (amd64_linux_init_abi): Set target description to
> tdesc_amd64_linux if needed. Support orig_rax in target
> description. Don't call set_gdbarch_register_name nor
> set_gdbarch_register_type. Call
> set_gdbarch_core_read_description.
> (_initialize_amd64_linux_tdep): Call
> initialize_tdesc_amd64_linux.
>
> * amd64-linux-tdep.h (tdesc_amd64_linux): New.
>
> * amd64-tdep.c: Include "features/i386/amd64.c".
> (amd64_register_names): Removed.
> (amd64_register_name): Likewise.
> (amd64_register_type): Likewise.
> (amd64_init_abi): Set num_core_regs and register_names. Set
> target description to tdesc_amd64 if needed. Don't call
> set_gdbarch_register_name nor set_gdbarch_register_type.
> (_initialize_amd64_tdep): New.
>
> * i386-linux-nat.c (i386_linux_read_description): New.
> (_initialize_i386_linux_nat): Set to_read_description to
> i386_linux_read_description.
>
> * i386-linux-tdep.c: Include "features/i386/i386-linux.c".
> (i386_linux_register_name): Removed.
> (i386_linux_core_read_description): New.
> (i386_linux_read_description): Likewise.
> (i386_linux_init_abi): Don't call set_gdbarch_register_name.
> Set target description to tdesc_i386_linux if needed. Support
> orig_eax. Set register_reggroup_p. Call
> set_gdbarch_core_read_description.
> (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux.
>
> * i386-linux-tdep.h (tdesc_i386_linux): New.
>
> * i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS
> with I387_NUM_REGS.
>
> * i386-tdep.c: Include "features/i386/i386.c".
> (i386_register_names): Make it const.
> (i386_mmx_names): Likewise.
> (i386_num_register_names): Removed.
> (i386_register_name): Likewise.
> (i386_eflags_type): Likewise.
> (i386_mxcsr_type): Likewise.
> (i386_sse_type): Likewise.
> (i386_register_type): Likewise.
> (i387_ext_type): Call tdesc_find_type instead of arch_float_type.
> (i386_pseudo_register_name): New.
> (i386_pseudo_register_type): Likewise.
> (i386_mmx_type): Make it static.
> (i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with
> I387_NUM_REGS. Set num_core_regs and register_names. Don't
> call set_gdbarch_register_name nor set_gdbarch_register_type.
> Set register_reggroup_p. Set target description to tdesc_i386
> if needed. Call set_tdesc_pseudo_register_type,
> set_tdesc_pseudo_register_name and tdesc_use_registers.
> (_initialize_i386_tdep): Call initialize_tdesc_i386.
> initialize_tdesc_x86_64.
>
> * i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type,
> i386_mxcsr_type and i386_sse_type. Add num_core_regs,
> register_names, tdesc and register_reggroup_p.
> (I386_NUM_FREGS): Removed.
> (i386_eflags_type): Likewise.
> (i386_mxcsr_type): Likewise.
> (i386_mmx_type): Likewise.
> (i386_sse_type): Likewise.
> (i386_register_name): Likewise.
> (i386_regnum): Add I386_MXCSR_REGNUM.
> (I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM.
>
> * i387-tdep.h (I387_NUM_REGS): New.
>
> * regformats/i386/i386-linux.dat: Generated.
> * regformats/i386/i386.dat: Likewise.
> * regformats/i386/amd64-linux.dat: Likewise.
> * regformats/i386/amd64.dat: Likewise.
>
> * regformats/reg-i386-linux.dat: Removed.
> * regformats/reg-i386.dat: Likewise.
> * regformats/reg-x86-64-linux.dat: Likewise.
> * regformats/reg-x86-64.dat: Likewise.
>
> gdb/gdbserver/
>
> 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
>
> * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
> reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
> i386-linux.c and amd64-linux.c.
> (reg-i386.o): Removed.
> (reg-i386.c): Likewise.
> (reg-i386-linux.o): Likewise.
> (reg-i386-linux.c): Likewise.
> (reg-x86-64.o): Likewise.
> (reg-x86-64.c): Likewise.
> (reg-x86-64-linux.o): Likewise.
> (reg-x86-64-linux.c): Likewise.
> (i386.o): New.
> (i386.c): Likewise.
> (i386-linux.o): Likewise.
> (i386-linux.c): Likewise.
> (amd64.o): Likewise.
> (amd64.c): Likewise.
> (amd64-linux.o): Likewise.
> (amd64-linux.c): Likewise.
>
> * configure.srv (srv_i386_regobj): New.
> (srv_i386_linux_regobj): Likewise.
> (srv_amd64_regobj): Likewise.
> (srv_amd64_linux_regobj): Likewise.
> (srv_i386_32bit_xmlfiles): Likewise.
> (srv_i386_64bit_xmlfiles): Likewise.
> (srv_i386_xmlfiles): Likewise.
> (srv_amd64_xmlfiles): Likewise.
> (srv_i386_linux_xmlfiles): Likewise.
> (srv_amd64_linux_xmlfiles): Likewise.
> (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set
> srv_xmlfiles to $srv_i386_xmlfiles.
> (i[34567]86-*-mingw32ce*): Likewise.
> (i[34567]86-*-mingw*): Likewise.
> (i[34567]86-*-nto*): Likewise.
> (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
> and $srv_amd64_linux_regobj. Set srv_xmlfiles to
> $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
> (x86_64-*-linux*): Likewise.
>
> * linux-x86-low.c (init_registers_x86_64_linux): Removed.
> (init_registers_amd64_linux): New.
> (x86_arch_setup): Replace init_registers_x86_64_linux with
> init_registers_amd64_linux.
>
> gdb/testsuite/
>
> 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
>
> * gdb.xml/tdesc-regs.exp (architecture): New. Set it for x86.
> (load_description): Set architecture if defined.
>
Are there any comments/suggestions for my latest patch:
http://sourceware.org/ml/gdb-patches/2010-02/msg00556.html
to enable XML for x86?
Thanks.
--
H.J.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PING: PATCH: Enable x86 XML target descriptions
2010-02-28 15:40 PING: PATCH: Enable x86 XML target descriptions H.J. Lu
@ 2010-02-28 18:51 ` Daniel Jacobowitz
2010-02-28 20:19 ` H.J. Lu
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2010-02-28 18:51 UTC (permalink / raw)
To: H.J. Lu; +Cc: GDB
On Sun, Feb 28, 2010 at 07:40:43AM -0800, H.J. Lu wrote:
> Are there any comments/suggestions for my latest patch:
>
> http://sourceware.org/ml/gdb-patches/2010-02/msg00556.html
>
> to enable XML for x86?
I was waiting for you to respond to my question about flag registers.
The discussion trailed off in the discussion about the CS value.
Is that patch still applicable?
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PING: PATCH: Enable x86 XML target descriptions
2010-02-28 18:51 ` Daniel Jacobowitz
@ 2010-02-28 20:19 ` H.J. Lu
2010-02-28 22:24 ` Daniel Jacobowitz
0 siblings, 1 reply; 4+ messages in thread
From: H.J. Lu @ 2010-02-28 20:19 UTC (permalink / raw)
To: GDB, H. Peter Anvin, Suresh Siddha
On Sun, Feb 28, 2010 at 10:51 AM, Daniel Jacobowitz
<dan@codesourcery.com> wrote:
> On Sun, Feb 28, 2010 at 07:40:43AM -0800, H.J. Lu wrote:
>> Are there any comments/suggestions for my latest patch:
>>
>> http://sourceware.org/ml/gdb-patches/2010-02/msg00556.html
>>
>> to enable XML for x86?
>
> I was waiting for you to respond to my question about flag registers.
See:
http://sourceware.org/ml/gdb-patches/2010-02/msg00560.html
http://sourceware.org/ml/gdb-patches/2010-02/msg00564.html
> The discussion trailed off in the discussion about the CS value.
> Is that patch still applicable?
>
Linux x86 kernel maintainer, Peter, has confirmed that checking
CS segment register value is the proper way to use ptrace to
check 32bit process under the current 64bit kernel. There will be
a new ptrace option in 2.6.35 kernel to return the CS.L bit directly.
I will submit a gdb patch to try the new ptrace option first before
failing back checking the CS segment register value.
--
H.J.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PING: PATCH: Enable x86 XML target descriptions
2010-02-28 20:19 ` H.J. Lu
@ 2010-02-28 22:24 ` Daniel Jacobowitz
0 siblings, 0 replies; 4+ messages in thread
From: Daniel Jacobowitz @ 2010-02-28 22:24 UTC (permalink / raw)
To: H.J. Lu; +Cc: GDB, H. Peter Anvin, Suresh Siddha
On Sun, Feb 28, 2010 at 12:19:23PM -0800, H.J. Lu wrote:
> On Sun, Feb 28, 2010 at 10:51 AM, Daniel Jacobowitz
> <dan@codesourcery.com> wrote:
> > On Sun, Feb 28, 2010 at 07:40:43AM -0800, H.J. Lu wrote:
> >> Are there any comments/suggestions for my latest patch:
> >>
> >> http://sourceware.org/ml/gdb-patches/2010-02/msg00556.html
> >>
> >> to enable XML for x86?
> >
> > I was waiting for you to respond to my question about flag registers.
>
> See:
>
> http://sourceware.org/ml/gdb-patches/2010-02/msg00560.html
> http://sourceware.org/ml/gdb-patches/2010-02/msg00564.html
That's not flag registers:
http://sourceware.org/ml/gdb-patches/2010-02/msg00542.html
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-02-28 22:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-28 15:40 PING: PATCH: Enable x86 XML target descriptions H.J. Lu
2010-02-28 18:51 ` Daniel Jacobowitz
2010-02-28 20:19 ` H.J. Lu
2010-02-28 22:24 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox