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: GDB 8.0 release/branching 2017-03-20 update


Hello Yao,

> >> struct PyGetSetDef py_insn_getset[] =
> >>  {
> >>   { "data", py_insn_data, NULL, "raw instruction data", NULL},
> >>   { "decoded", py_insn_decode, NULL, "decoded instruction", NULL},
> >>   { "size", py_insn_size, NULL, "instruction size in byte", NULL},
> >>   { "pc", py_insn_pc, NULL, "instruction address", NULL },
> >>   {NULL}
> >> };
> >
> > This is for the (abstract) base-class, I assume.
> >
> 
> Yes, it is the base class, but it is the implementation detail about the
> class is abstract or not.  I haven't think about it yet.  Again, I only
> care about python interface at this stage.
> 
> > We don't store any data in the base class so the Python object would
> > contain the PyObject header and nothing else, correct?
> >
> > And the above functions would throw an exception or return None.
> > Correct?
> >
> 
> I didn't go that far yet :)

What else could the do?  We agreed that the base class will be abstract and
let the derived classes chose the data members to best implement the functions.



> >> struct PyGetSetDef btpy_insn_getset[] =
> >> {
> >>   { "data", btpy_insn_data, NULL, "raw instruction data", NULL},
> >>   { "decoded", btpy_insn_decode, NULL, "decoded instruction", NULL},
> >>   { "size", btpy_insn_size, NULL, "instruction size in byte", NULL},
> >>   { "pc", btpy_insn_pc, NULL, "instruction address", NULL },
> >>
> >>   { "number", btpy_number, NULL, "instruction number", NULL},
> >>   { "sal", btpy_sal, NULL, "instruction number", NULL},
> >>   {NULL}
> >> };
> >
> > This is for the BtraceInstruction derived class, I assume.  That's essentially
> > what Tim implemented.  Correct?
> >
> > This doesn't look too far away from what we have in GDB today.
> 
> I requested to change the python interface in Tim's patch, not the
> implementation.

Now I'm a bit lost.  What exactly do you want changed at this point to
establish the Python interface?

Thanks,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

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