This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH RFA]: Fix i386-linux-nat.c fill_gregset()



> Okay to commit?
> 
> 	* i386-linux-nat.c (fill_gregset): Don't invoke read_register_gen()
> 	when fetching ORIG_EAX.
> 
> Index: i386-linux-nat.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/i386-linux-nat.c,v
> retrieving revision 1.29
> diff -u -p -r1.29 i386-linux-nat.c
> --- i386-linux-nat.c	2001/11/04 14:30:42	1.29
> +++ i386-linux-nat.c	2001/11/17 09:14:41
> @@ -325,7 +325,8 @@ fill_gregset (elf_gregset_t *gregsetp, i
>        *(regp + regmap[i]) = *(elf_greg_t *) &registers[REGISTER_BYTE (i)];
>  
>    if (regno == -1 || regno == I386_LINUX_ORIG_EAX_REGNUM)
> -    read_register_gen (I386_LINUX_ORIG_EAX_REGNUM, (char *) (regp + ORIG_EAX));
> +    *(regp + regmap[ORIG_EAX]) =
> +      *(elf_greg_t *) &registers[REGISTER_BYTE (I386_LINUX_ORIG_EAX_REGNUM)];
>  }
>  
>  #ifdef HAVE_PTRACE_GETREGS

FYI,

Using registers[] is wrong.  The code should be using regcache_collect().

Andrew



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]