Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: hjl.tools@gmail.com
Cc: teawater@gmail.com, msnyder@vmware.com, dan@codesourcery.com,
	        gdb-patches@sourceware.org
Subject: Re: [RFA 3/5] Prec: x86 segment register support: target
Date: Mon, 22 Mar 2010 15:05:00 -0000	[thread overview]
Message-ID: <201003221503.o2MF3Vmj017896@glazunov.sibelius.xs4all.nl> (raw)
In-Reply-To: <6dc9ffc81003220735k54fbef51o4f5c9ebec06fffa7@mail.gmail.com> 	(hjl.tools@gmail.com)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2941 bytes --]

> Date: Mon, 22 Mar 2010 07:35:00 -0700
> From: "H.J. Lu" <hjl.tools@gmail.com>
> 
> On Mon, Mar 22, 2010 at 7:02 AM, Hui Zhu <teawater@gmail.com> wrote:
> > Thanks Michael and Daniel.
> >
> > I make a patch to add base of segments registers to x86-32:
> > (gdb) info reg
> > eax            0xffffd514       -10988
> > ecx            0x1eda96c5       517641925
> > edx            0x1      1
> > ebx            0xf7fb1ff4       -134537228
> > esp            0xffffd488       0xffffd488
> > ebp            0xffffd488       0xffffd488
> > esi            0x8048510        134513936
> > edi            0x80483d0        134513616
> > eip            0x8048487        0x8048487 <main+3>
> > eflags         0x246    [ PF ZF IF ]
> > cs             0x23     35
> > ss             0x2b     43
> > ds             0x2b     43
> > es             0x2b     43
> > fs             0x0      0
> > gs             0x63     99
> > cs_base        0x0      0
> > ss_base        0x0      0
> > ds_base        0x0      0
> > es_base        0x0      0
> > fs_base        0x0      0
> > gs_base        0xf7e528d0       -135976752
> >
> > I try it in x86-32 pc and 32bit code in x86-64.  It works OK.
> >
> > Please help me review it.
> >
> > Best regards,
> > Hui
> >
> > 2010-03-22  Hui Zhu  <teawater@gmail.com>
> >
> >        * features/i386/32bit-linux.xml (org.gnu.gdb.i386.linux): Add
> >        cs_base, ss_base, ds_base, es_base, fs_base and gs_base.
> >        * i386-tdep.h (i386_segment_base_regnum): New enum.
> >        * amd64-linux-nat.c (GDT_ENTRY_TLS_MIN,
> >        GDT_ENTRY_TLS_MAX): New marco.
> >        (ps_get_thread_area): New extern.
> >        (amd64_linux_fetch_inferior_registers): Add
> >        code to get 32 bits segment registers base.
> >        * i386-linux-nat.c (GDT_ENTRY_TLS_ENTRIES,
> >        GDT_ENTRY_TLS_MIN,
> >        GDT_ENTRY_TLS_MAX): New marco.
> >        (ps_get_thread_area): New extern.
> >        (i386_linux_fetch_inferior_registers): Add
> >        code to get segment registers base.
> 
> Are we going to support them on other OSes? If not,
> the contents of i386_segment_base_regnum should be
> moved to i386-linux-tdep.h and those values should
> be after
> 
> /* Register number for the "orig_eax" pseudo-register.  If this
>    pseudo-register contains a value >= 0 it is interpreted as the
>    system call number that the kernel is supposed to restart.  */
> #define I386_LINUX_ORIG_EAX_REGNUM I386_SSE_NUM_REGS
> 
> In any cases, they shouldn't be hard-coded to any values.
> Otherwise, it won't work with AVX, which will add more registers.

In any case; this stuff will have to wait until we're done withe the
AVX stuff, which I'll be looking at again tonight.


      parent reply	other threads:[~2010-03-22 15:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-16 16:53 Hui Zhu
2010-03-16 18:12 ` Michael Snyder
2010-03-16 20:04   ` Daniel Jacobowitz
2010-03-22 14:03     ` Hui Zhu
2010-03-22 14:35       ` Mark Kettenis
2010-03-22 14:45         ` Hui Zhu
2010-03-22 14:53         ` Daniel Jacobowitz
2010-03-22 18:04           ` Eli Zaretskii
2010-03-22 18:14             ` Doug Evans
2010-03-22 16:03         ` Doug Evans
2010-03-22 14:35       ` H.J. Lu
2010-03-22 14:44         ` Hui Zhu
2010-03-22 15:05         ` Mark Kettenis [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201003221503.o2MF3Vmj017896@glazunov.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=dan@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=hjl.tools@gmail.com \
    --cc=msnyder@vmware.com \
    --cc=teawater@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox