I wanted to test the 32-bit UST event stream (to see if one can indeed have 
two consumer daemons serving the session, one for 64-bit user-space events, 
another for 32-bit user-space events), so I adapted the 
lttng-ust/doc/examples/easy-ust Makefile by making a new target:

static32: static32.o tp32.o
        @echo "~~~~~~Linking sample_$@:"
        $(CC) -m32 -o sample_$@ $^ $(LDFLAGS) $(LIBDL) $(LIBUST)
        @echo "   Use './sample_$@' to run sample_$@"

static32.o: sample.c tp.h
        @echo "~~~~~~Compiling $@:"
        $(CC) -m32 $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(TP_DEFINE) -c -o $@ $<

tp32.o: tp.c tp.h
        @echo "~~~~~~Compiling $@:"
        $(CC) -m32 $(CPPFLAGS) $(LOCAL_CPPFLAGS) -c -o $@ $<

   Simply put, the .c files are compiled and linked with an additional -m32 gcc 
option.  The gcc-multilib package is installed.

   However, I get:

$ make static32
~~~~~~Compiling static32.o:
gcc -m32  -I. -D TRACEPOINT_DEFINE -c -o static32.o sample.c
~~~~~~Compiling tp32.o:
gcc -m32  -I. -c -o tp32.o tp.c
~~~~~~Linking sample_static32:
gcc -m32 -o sample_static32 static32.o tp32.o -L/usr/local/lib -ldl  -llttng-ust
/usr/bin/ld: warning: skipping incompatible /usr/local/lib/liblttng-ust.so 
while searching for lttng-ust
/usr/bin/ld: error: cannot find -llttng-ust
tp32.o:tp.c:function __lttng_events_init__sample_component: error: undefined 
reference to 'lttng_probe_register'
tp32.o:tp.c:function __lttng_events_exit__sample_component: error: undefined 
reference to 'lttng_probe_unregister'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [static32] Erreur 1

   The problem is the "incompatible /usr/local/lib/liblttng-ust.so".  I even 
tried rebuilding the entire lttng suite (originally built *before* gcc-multilib 
was added), but that changed nothing.  How do I do this?  More generally, how 
does one add tracepoints to a 32-bit application running on a 64-bit system?

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

Reply via email to