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

Pedro Alves palves at redhat.com
Thu Dec 6 10:57:30 EST 2012


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.

> 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




More information about the lttng-dev mailing list