Re: Can this be happening?

Mark Kettenis
2007-07-03T21:54:46Z

> From: Jim Blandy <jimb@codesourcery.com>
> Date: Tue, 03 Jul 2007 14:38:51 -0700
>
> "Mohammed, Moqtadir" <Moqtadir_Mohammed@reyrey.com> writes:
> > I was trying to look at a core dump of a program, and gdb displays the following result for
> > #info registers
> >
> > eax 0xa0 160
> > ecx 0x2 2
> > edx 0xa 10
> > ebx 0xa7e3de9c -1478238564
> > esp 0xa6babddc 0xa6babddc
> > ebp 0xa6babe00 0xa6babe00
> > esi 0xa7ef9d9a -1477468774
> > edi 0x838f44c 137950284
> > eip 0xa7d85cec 0xa7d85cec <mempcpy+28>
> > eflags 0x50203 [ CF IF RF AC ]
> > cs 0x73 115
> > ss 0x7b 123
> > ds 0x7b 123
> > es 0xb010007b -1341128581
> > fs 0x0 0
> > gs 0x33 51
> >
> > Platform: IA32. (elf)
> >
> > My question is, how is the register 'es' being reported as a 32
> > bit value. I may be completely naive asking this question, but I
> > have been trying to google for anything related to it, but haven't
> > found an answer. Is 'es' not supposed to be only 16bit.
>
> Well, actually, GDB thinks they're all 32 bits long:

Yes, they are, mostly to keep the remote register packet compatible.
They should really be changed into a 16bit type I guess.

Mark