[lttng-dev] Request change name of function lookup_enum in libbabeltrace to make GDB use this lib

Hui Zhu teawater at gmail.com
Tue Dec 11 10:18:24 EST 2012


On Mon, Dec 10, 2012 at 10:05 PM, Mathieu Desnoyers
<mathieu.desnoyers at efficios.com> wrote:
> * Hui Zhu (teawater at gmail.com) wrote:
>> On Thu, Dec 6, 2012 at 11:57 PM, Pedro Alves <palves at redhat.com> wrote:
>> > On 12/05/2012 12:08 PM, Mathieu Desnoyers wrote:
>> >> * Hui Zhu (teawater at gmail.com) wrote:
>> >>> Hi,
>> >>>
>> >>> I am working on add CTF support to GDB.  You can see my patch review threads in:
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00552.html
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00554.html
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00553.html
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00555.html
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00556.html
>> >>>
>> >>> To make GDB support CTF read, I use libbabeltrace with GDB.  You can
>> >>> see the patch in
>> >>> http://sourceware.org/ml/gdb-patches/2012-11/msg00555.html.
>> >>> I have a issue is  libbabeltrace have a function called lookup_enum
>> >>> that is same with a GDB function.
>> >>> I change the function name of GDB to handle this issue in my patch.
>> >>>
>> >>> But Tom said let libbabeltrace to change function name is better.
>> >>> So I send this mail to ask do you mind change the function name of
>> >>> lookup_enum?   If you can change the function name that will be really
>> >>> helpful for us.  Thanks a lot.
>> >>> And I post a patch about change the function name in libbabeltrace.
>> >>
>> >> I'm CCing Julien Desfossez on this one. From what I see,
>> >> include/babeltrace/types.h is not included into the system, so it should
>> >> not be considered to be a public header of libbabeltrace.
>> >
>> > I've just built and installed babeltrace 1.0.0 (where's the mainline repository,
>> > BTW?), and indeed, I'm not seeing the types.h file anywhere in the
>> > installed tree:
>> >
>> > $ ~/src/babeltrace/install/include> find
>> > .
>> > ./babeltrace
>> > ./babeltrace/trace-handle.h
>> > ./babeltrace/list.h
>> > ./babeltrace/babeltrace.h
>> > ./babeltrace/context.h
>> > ./babeltrace/iterator.h
>> > ./babeltrace/ctf
>> > ./babeltrace/ctf/callbacks.h
>> > ./babeltrace/ctf/events.h
>> > ./babeltrace/ctf/iterator.h
>> > ./babeltrace/format.h
>> > ./babeltrace/clock-types.h
>> >
>> > The GDB patch is including types.h explicitly:
>> >
>> > +#ifdef HAVE_LIBBABELTRACE
>> > +#include <babeltrace/babeltrace.h>
>> > +#include <babeltrace/types.h>
>> > +#include <babeltrace/ctf/events.h>
>> > +#include <babeltrace/ctf/iterator.h>
>> >
>> > So indeed, Hui, you'll need to make sure your patch works against an
>> > installed babeltrace, making sure it does not pick up headers
>> > from babeltrace's source directory.  If there's really no reason to
>> > include that types.h header (since it seems you don't really need any
>> > function declared in that file), maybe there's actually nothing for
>> > babeltrace to do.
>>
>> Oops, sorry for I miss something.
>> I use include babeltrace/types.h because I use function
>> get_int_signedness that defined inside it.
>
> Can you use:
>
> include/babeltrace/ctf/events.h: bt_ctf_get_int_signedness() instead ?
>
> This one is within an exported header,
>
> Thanks,
>
> Mathieu

Great! My part is OK now.  Thanks for your help.

Best,
Hui

>
>>
>> Thanks,
>> Hui
>>
>>
>> >
>> >> Julien, is there an publically exposed babeltrace API that performs
>> >> something similar to the internal lookup_enum() ?
>> >>
>> >> Hui, are you using other functions from include/babeltrace/types.h ?
>> >
>> > --
>> > Pedro Alves
>> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com



More information about the lttng-dev mailing list