This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [python][patch] Inferior and Thread information support.
On 06/18/2010 06:58 PM, Tom Tromey wrote:
>>>>>> "Phil" == Phil Muldoon <pmuldoon@redhat.com> writes:
>
> Phil> I'm not sure that conversion from a Python type to a buffer object are
> Phil> that transparent. For instance there seems to be no straightforward
> Phil> way to represent 3.141 as a sequence of bytes backed by a buffer in
> Phil> Python (or accessible via the buffer interface rather). Maybe there
> Phil> is, I'm certainly not a Python language expert. I hope someone can
> Phil> prove me wrong!
>
> Yeah, there are some things in Python for this. See the 'struct'
> module.
>
> I think it is somewhat better to keep our API simple and rely on the
> built-in library for more complicated things. Sorry about that.
Simplifying the API will be the easy part (though I disagree on it),
it just means removing code. I'll submit a patch for that next week.
>
> Phil> Right now with the existing code, we take 3.141 as a gdb.value and
> Phil> convert that to bytes via value_contents. Your suggestions would
> Phil> certainly make the existing code simpler (and my porting task a little
> Phil> easier ;), but I can't help thinking that it would be just making the
> Phil> user jump through extra hoops just for API pureness. I strive for
> Phil> that, it's a good thing; it just strikes me a little too much in this
> Phil> case. OTOH we could just make add_value_pattern available via the API
> Phil> and have the user manually do the conversion "the GDB way".
>
> Arguably, gdb.Value should support the buffer protocol. I don't know if
> that is directly possible, but if not we should supply a way to convert
> a Value to a buffer -- to give the user a way to view the underlying
> bits.
I don't disagree in principle. I'm not sure this is within the
the scope of this patch though?
> I think you should just remove the max_count argument. It seems weird
> to me. If people want multiple searches, it is easy to iterate. Or, if
> we really want to support multiple searches, then I think we should do
> it by returning an iterator instead of a list.
>From a pragmatic point of view, between you and Doug I'm a little lost
about what we need to do to get this patch suitable for inclusion in
the FSF tree, with a possible view for inclusion to 7.2? I'm not sure
what the removal of the max_count has to do with the other comments?
Making search_memory only support buffers is okay from the Python
side, that is easy. What else needs to be done is my question ;)
Cheers,
Phil