Inspired by Jérémie's https://gist.github.com/jgalar/5706595, I tinkered with lttng-ust/doc/examples/easy-ust to make the sample application use a small C++ object (and turning itself into sample.cpp). It links and works fine except if LTTNG_UST_HAVE_SDT_INTEGRATION is #defined, in which case I get a "template with C linkage" error on line 71 of sdt.h, followed by a slew of "template specialization with C linkage" errors. What is odd is that even if I #undef LTTNG_UST_HAVE_SDT_INTEGRATION in sample.cpp just before the #include "sample_component_provider.h", it somehow gets turned back on by the time lttng/tracepoint.h checks it. If I modify tracepoint.h to comment out the #ifdef in order to leave only its else branch, sample.cpp compiles just fine.
Two questions, then: 1) how come #undef LTTNG_UST_HAVE_SDT_INTEGRATION doesn't work? 2) can LTTng be used to trace a C++ application when SystemTap is installed? I can supply a small tarball of the source code and makefile (just drop those in lttng-ust/doc/examples/easy-ust and "make cppdynamic" to see the problem occur). Daniel U. Thibault Protection des systèmes et contremesures (PSC) | Systems Protection & Countermeasures (SPC) Cyber sécurité pour les missions essentielles (CME) | Mission Critical Cyber Security (MCCS) R & D pour la défense Canada - Valcartier (RDDC Valcartier) | Defence R&D Canada - Valcartier (DRDC Valcartier) 2459 route de la Bravoure Québec QC G3J 1X5 CANADA Vox : (418) 844-4000 x4245 Fax : (418) 844-4538 NAC : 918V QSDJ <http://www.travelgis.com/map.asp?addr=918V%20QSDJ> Gouvernement du Canada | Government of Canada <http://www.valcartier.drdc-rddc.gc.ca/> _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
