[lttng-dev] liblttng-ust finalizer oddity
Thibault, Daniel
Daniel.Thibault at drdc-rddc.gc.ca
Fri Mar 22 12:24:54 EDT 2013
Below is an edited-for-brevity log that highlights an oddity of the liblttng-ust finalizer: it triggers a load and initialization of libgcc_s, but libgcc_s's finalizer doesn't run (I checked libgcc_s.so with readelf, and there is indeed a FINI entry in there). Is this a feature of libgcc_s? Of the Linux loader? Or of LTTng? Is it anything to worry about?
$ LD_DEBUG=libs LD_PRELOAD=.libs/liblttng-ust-provider-ust-tests-demo.so:.libs/liblttng-ust-provider-ust-tests-demo3.so ./demo
805: find library=libdl.so.2 [0]; searching
805: search cache=/etc/ld.so.cache
805: trying file=/lib/x86_64-linux-gnu/libdl.so.2
805:
805: find library=libc.so.6 [0]; searching
805: search cache=/etc/ld.so.cache
805: trying file=/lib/x86_64-linux-gnu/libc.so.6
805:
[...]
805: calling init: .libs/liblttng-ust-provider-ust-tests-demo.so
805:
805:
805: initialize program: ./demo
805:
805:
805: transferring control: ./demo
805:
Demo program starting.
Tracing... done.
805:
805: calling fini: ./demo [0]
805:
805:
805: calling fini: .libs/liblttng-ust-provider-ust-tests-demo.so [0]
805:
805:
805: calling fini: .libs/liblttng-ust-provider-ust-tests-demo3.so [0]
805:
805:
805: calling fini: /lib/x86_64-linux-gnu/libdl.so.2 [0]
805:
805:
805: calling fini: /home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs/liblttng-ust.so.0 [0]
805:
805: find library=libgcc_s.so.1 [0]; searching
805: search path=/home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs (RPATH from file .libs/liblttng-ust-provider-ust-tests-demo.so)
805: trying file=/home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs/libgcc_s.so.1
805: search path=/home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs (RPATH from file .libs/liblttng-ust-provider-ust-tests-demo.so)
805: trying file=/home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs/libgcc_s.so.1
805: search cache=/etc/ld.so.cache
805: trying file=/lib/x86_64-linux-gnu/libgcc_s.so.1
805:
805:
805: calling init: /lib/x86_64-linux-gnu/libgcc_s.so.1
805:
805:
805: calling fini: /home/daniel/Documents/lttng-ust-2.1.1+-08a3170/liblttng-ust/.libs/liblttng-ust-tracepoint.so.0 [0]
805:
805:
805: calling fini: /lib/x86_64-linux-gnu/librt.so.1 [0]
805:
805:
805: calling fini: /usr/local/lib/liburcu-bp.so.2 [0]
805:
805:
805: calling fini: /usr/local/lib/liburcu-cds.so.2 [0]
805:
805:
805: calling fini: /lib/x86_64-linux-gnu/libpthread.so.0 [0]
805:
Daniel U. Thibault
R & D pour la défense Canada - Valcartier (RDDC Valcartier) / Defence R&D Canada - Valcartier (DRDC Valcartier)
Cyber sécurité pour les missions essentielles (CME) / Mission Critical Cyber Security (MCCS)
Protection des systèmes et contremesures (PSC) / Systems Protection & Countermeasures (SPC)
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/>
More information about the lttng-dev
mailing list