#!/bin/sh -efu [ $# -gt 0 ] || { echo "Usage: findsym " exit 1; } /sbin/ldconfig -p | tail +1 | sed -e 's/^.*=>[[:space:]]*\([^[:space:]]\+\)[[:space:]]*$/\1/p;' | sort | uniq | while read lib; do [ -r "$lib" ] || continue save_IFS="$IFS" IFS=' ' nm -D "$lib" 2>/dev/null | grep -Fwe "$*" | grep -ve '^........ U ' | while read sym; do printf "%s: %s\n" "$lib" "$sym" done IFS="$save_IFS" done