On Fri, Nov 08, 2002 at 05:05:23PM -0800, Brooks Davis wrote:
> On Fri, Nov 08, 2002 at 04:16:06PM -0700, M. Warner Losh wrote:
> > I'd love for there to be a way to know which binaries use __sF.
> 
> The following script run on your bin, sbin, lib, and libexec directories
> does a pretty decent job of finding files that contain refrences to __sF
> and listing the ports that use them (depend on portupgrade).
> 
> #!/bin/sh
> 
> sym=__sF
> 
> for file in $*; do
>       if [ -n "`nm ${file} 2>&1 | egrep " ${sym}$"`" ]; then
>               echo ${file} `pkg_which $file`
>       fi
> done

nm doesn't work on shared libraries.  You can
use strings to find __sF in shared libs.

troutmask:kargl[201] cd /mnt/usr/lib/
troutmask:kargl[202] nm libm.a | grep sF
         U __sF
troutmask:kargl[203] nm libm.so.2 | grep sF
nm: libm.so.2: no symbols
troutmask:kargl[204] strings libm.so.2 | grep sF
__sF

-- 
Steve

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to