Bug 3221

Summary: --enable-perfmon makes all built programs dependant on libpfm
Product: systemtap Reporter: Eugeniy Meshcheryakov <eugen>
Component: translatorAssignee: Unassigned <systemtap>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description Eugeniy Meshcheryakov 2006-09-17 18:57:16 UTC
After configuring and building with --enable-perfmon:

% readelf -d /usr/bin/stap | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libpfm3.so.3]
 0x00000001 (NEEDED)                     Shared library: [libelf.so.1]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
% readelf -d /usr/bin/lket-b2a | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libpfm3.so.3]
 0x00000001 (NEEDED)                     Shared library: [libglib-2.0.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
% readelf -d /usr/lib/systemtap/stpd | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libpfm3.so.3]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

But only stap binary actually uses libpfm.
Comment 1 Frank Ch. Eigler 2007-08-17 22:02:06 UTC
This was fixed incidentally to the suspension of the perfmon code in the
translator.  Once it returns, we'll make sure that such LIBS are
kept to the appropriate binaries.