[lttng-dev] linking c++ with shared object tracepoints
Jérémie Galarneau
jeremie.galarneau at efficios.com
Tue Jun 4 11:44:57 EDT 2013
Just to isolate the problem further, can you give me the version of
lttng-ust you have installed and which distribution you are using?
On Tue, Jun 4, 2013 at 11:37 AM, Aryeh Weinreb <weinrea at gmail.com> wrote:
>> I prepared a quick and dirty example based on the "demo" project.
>> Replace the Makefile and demo.c files with these:
>> https://gist.github.com/jgalar/5706595
>>
>> This will compile a C++ application which links against the
>> lttng-ust-provider-ust-tests-demo3.so provider.
>>
>> Resulting trace:
>> [10:59:42.399354875] (+?.?????????) mercury:demo:16256
>> ust_tests_demo3:done: { cpu_id = 4 }, { value = 42 }
>>
>> Regards,
>> Jérémie
>
> Thanks.
> Unfortunately, this is not working for me.
>
> Making all in demo
> make[3]: Entering directory `/home/nkw643/lttng-ust-2.1.2/tests/demo'
> g++ -c -o demo.o demo.cpp
> gcc -I. -fpic -c -o tp3.o tp3.c
> gcc -shared -o lttng-ust-provider-ust-tests-demo3.so -llttng-ust tp3.o
> g++ -o demo demo.o lttng-ust-provider-ust-tests-demo3.so -L. -ldl
> -Wl,-rpath=.
> /usr/bin/ld: demo: hidden symbol `tracepoint_dlopen' in demo.o is
> referenced by DSO
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: ld returned 1 exit status
>
> $ nm -s demo.o | grep tracepoint_dlopen
> 0000000000000020 V tracepoint_dlopen
> $ nm -s .libs/liblttng-ust-provider-ust-tests-demo3.so | grep
> tracepoint_dlopen
> U tracepoint_dlopen
>
> $ readelf -s demo.o | grep tracepoint_dlopen
> 34: 0000000000000020 48 OBJECT WEAK HIDDEN 6 tracepoint_dlopen
> $ readelf -s .libs/liblttng-ust-provider-ust-tests-demo3.so | grep
> tracepoint_dlopen
> 6: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND tracepoint_dlopen
> 67: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND tracepoint_dlopen
>
> $readelf -d demo.o | grep tracepoint_dlopen
> $
> $readelf -d .libs/liblttng-ust-provider-ust-tests-demo3.so | grep
> tracepoint_dlopen
> $
--
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list