-----Message d'origine----- De : Woegerer, Paul [mailto:[email protected]] Envoyé : 2 octobre 2013 03:38
> The 64-bit version of lttng-tools works just fine with both, 32-bit and > 64-bit userspace applications. No need to compile it as 32-bit variant. > Instrumented 32-bit applications automatically use the 32-bit lttng-consumerd > (from the lttng-ust 32-bit build), instrumented 64-bit > applications automatically use the 64-bit lttng-consumerd (from the lttng-ust > 64-bit build). But lttng-consumerd is in the lttng-tools package, not lttng-ust ?! This prevents my lttng-sessiond from using a 32-bit lttng-consumerd, as you'll see below. > BTW, when you compile for the "-m32" multilib, it's better to use the > following: > $ ./configure CC="gcc -m32" > This way also the linking steps (performed by libtool) of your build will > know that you are building for m32 (on your x86_64 system) and you don't need > e.g. "--libdir ....". That's what I did, but I still felt I needed to specify libdir so the install did not overwrite the 64-bit libraries (liblttng-ctl.so, liblttng-ust.so, etc.). > For more information see: > http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.64bit.html#sec.64bit.biarch > or > https://developer.mozilla.org/en/docs/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS I have seen the second one, which was moderately useul. I'll look into the first one, thanks. > > More generally, how does one add tracepoints to a 32-bit application > > running on a 64-bit system? > > You simply compile your instrumented application to 32-bit the same way you > did it for the lttng-ust package (CC="gcc -m32"). > > Paul Woegerer, SW Development Engineer Indeed, once lttng-ust has been done in 32-bits, I can use the 'make static32' I quoted at the beginning of the thread like this: $ LDFLAGS=-L/usr/local/lib32 make static 32 And then run the sample app like this: $ LD_PRELOAD=/usr/local/lib32/liblttng-ust.so ./sample_static32 (I could dump the LD_PRELOAD by adding /usr/local/lib32 to my PATH) But my running lttng-sessiond (enable-event -u -a) complains: Error: Consumer socket fd -1 not found in consumer obj 0x7ffd4000b650 My guess is I'll need to launch lttng-sessiond with the -u and -U options to point it to the 32-bit lttng-consumerd...Once I can get the 32-bit lttng-tools to compile and install it. 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
