This is the mail archive of the gdb-patches@sourceware.org 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: PR corefiles/11511: gcore doesn't work with orig_rax on Linux/amd64


On 04/19/2010 10:21 AM, H.J. Lu wrote:
> 
> I am CCing Peter, who is the Linux x86 kernel maintainer.
> 

Also adding Roland McGrath.

> We have 2 general-purpose register maps in GDB. One is in nat.c:
> 
> /* Mapping between the general-purpose registers in GNU/Linux x86-64
>    `struct user' format and GDB's register cache layout.  */
> 
> static int amd64_linux_gregset64_reg_offset[] =
> 
> It is used for reading/writing registers from/to kernel. One is in tdep.c:
> 
> /* Mapping between the general-purpose registers in `struct user'
>    format and GDB's register cache layout.  */
> 
> /* From <sys/reg.h>.  */
> static int amd64_linux_gregset_reg_offset[] =
> 
> It is use for reading/writing core dump.
> 
> Both are mappings between `struct user'  and  GDB's register cache.
> It is very unlikely that the current x86 Linux kernel ABI for accessing
>  `struct user' will change.  If the kernel ABI does need to change for
> whatever reason, the new interface will be introduced.
> 
> This applies to both i386 and x86-64 Linux kernel. I'd like to keep
> a single map between the general-purpose registers in `struct user'
> format and GDB's register cache for i386/x86-64 Linux. Will such
> a patch acceptable?
> 

struct user will not change, at least not for i386/x86-64.  New
additions will be done via regsets, i.e. PTRACE_GETREGSET.  I can't
speak for the embedded architectures, obviously, but they should do
something similar.

	-hpa


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