#!/bin/sh ############################################################################## # Copyright (c) 2003-2006,2010 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, distribute # # with modifications, sublicense, and/or sell copies of the Software, and to # # permit persons to whom the Software is furnished to do so, subject to the # # following conditions: # # # # The above copyright notice and this permission notice shall be included in # # all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # # # # Except as contained in this notice, the name(s) of the above copyright # # holders shall not be used in advertising or otherwise to promote the sale, # # use or other dealings in this Software without prior written # # authorization. # ############################################################################## # $Id: listused.sh,v 1.8 2010/09/18 15:15:15 tom Exp $ # A very simple script to list all entrypoints that are used by either a test # program, or within the libraries. This relies on the output format of 'nm', # and assumes that the libraries are configured with TRACE defined, and using # these options: # --disable-macros # --enable-sp-funcs # --enable-widec # Static libraries are used, to provide some filtering based on internal usage # of the different symbols. # keep the sorting independent of locale: if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi NM_OPTS= if test ! -d ../objects ; then echo "? need objects to run this script" exit 1 elif test ! -d ../lib ; then echo "? need libraries to run this script" exit 1 fi PROGS= for name in `(echo "test:";sort modules; echo "progs:";sort ../progs/modules) |sed -e 's/[ ].*//' -e '/^[#@]/d'` do case $name in *:) PROGS="$PROGS $name" ;; *) NAME=../objects/${name}.o if test -f $NAME then PROGS="$PROGS $NAME" fi ;; esac done # For each library - for lib in ../lib/*.a do LIB=`basename $lib .a` case $LIB in *_*|*+*) continue ;; esac tmp=`echo $LIB|sed -e 's/w$//'` echo echo "${tmp}:" echo $tmp |sed -e 's/./-/g' # Construct a list of public externals provided by the library. WANT=`nm $NM_OPTS $lib |\ sed -e 's/^[^ ]*//' \ -e 's/^ *//' \ -e '/^[ a-z] /d' \ -e '/:$/d' \ -e '/^$/d' \ -e '/^U /d' \ -e 's/^[A-Z] //' \ -e '/^_/d' |\ sort -u` # List programs which use that external. for name in $WANT do HAVE= tags= last= for prog in $PROGS do case $prog in *:) tags=$prog ;; *) TEST=`nm $NM_OPTS $prog |\ sed -e 's/^[^ ]*//' \ -e 's/^ *//' \ -e '/^[ a-z] /d' \ -e '/:$/d' \ -e '/^$/d' \ -e 's/^[A-Z] //' \ -e '/^_/d' \ -e 's/^'${name}'$/_/' \ -e '/^[^_]/d'` if test -n "$TEST" then have=`basename $prog .o` if test -n "$HAVE" then if test "$last" = "$tags" then HAVE="$HAVE $have" else HAVE="$HAVE $tags $have" fi else HAVE="$tags $have" fi last="$tags" fi ;; esac done # if we did not find a program using it directly, see if it # is used within a library. if test -z "$HAVE" then for tmp in ../lib/*.a do case $tmp in *_*|*+*) continue ;; esac TEST=`nm $NM_OPTS $tmp |\ sed -e 's/^[^ ]*//' \ -e 's/^ *//' \ -e '/^[ a-z] /d' \ -e '/:$/d' \ -e '/^$/d' \ -e '/^[A-TV-Z] /d' \ -e 's/^[A-Z] //' \ -e '/^_/d' \ -e 's/^'${name}'$/_/' \ -e '/^[^_]/d'` if test -n "$TEST" then tmp=`basename $tmp .a |sed -e 's/w$//'` HAVE=`echo $tmp | sed -e 's/lib/lib: /'` break fi done fi test -z "$HAVE" && HAVE="-" lenn=`expr 39 - length $name` lenn=`expr $lenn / 8` tabs= while test $lenn != 0 do tabs="${tabs} " lenn=`expr $lenn - 1` done echo "${name}${tabs}${HAVE}" done done
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
package | Folder | 0755 |
|
|
Makefile.in | File | 4.92 KB | 0644 |
|
README | File | 35.89 KB | 0644 |
|
aclocal.m4 | File | 108.83 KB | 0644 |
|
background.c | File | 6.84 KB | 0644 |
|
blue.c | File | 12.4 KB | 0644 |
|
bs.6 | File | 3.91 KB | 0644 |
|
bs.c | File | 29.95 KB | 0644 |
|
bulgarian-utf8.txt | File | 340 B | 0644 |
|
cardfile.c | File | 13.26 KB | 0644 |
|
cardfile.dat | File | 394 B | 0644 |
|
chgat.c | File | 9.03 KB | 0644 |
|
clip_printw.c | File | 9.1 KB | 0644 |
|
color_name.h | File | 3.32 KB | 0644 |
|
color_set.c | File | 3.25 KB | 0644 |
|
configure | File | 449.42 KB | 0644 |
|
configure.in | File | 9.57 KB | 0644 |
|
demo_altkeys.c | File | 4.77 KB | 0644 |
|
demo_defkey.c | File | 7.4 KB | 0644 |
|
demo_forms.c | File | 13.01 KB | 0644 |
|
demo_keyok.c | File | 3.24 KB | 0644 |
|
demo_menus.c | File | 18.74 KB | 0644 |
|
demo_panels.c | File | 16.89 KB | 0644 |
|
demo_termcap.c | File | 10.09 KB | 0644 |
|
demo_terminfo.c | File | 10.05 KB | 0644 |
|
ditto.c | File | 11.04 KB | 0644 |
|
dots.c | File | 4.52 KB | 0644 |
|
dots_mvcur.c | File | 4.66 KB | 0644 |
|
echochar.c | File | 4.35 KB | 0644 |
|
edit_field.c | File | 11.21 KB | 0644 |
|
edit_field.h | File | 2.57 KB | 0644 |
|
filter.c | File | 4.97 KB | 0644 |
|
firework.c | File | 5.53 KB | 0644 |
|
firstlast.c | File | 3.72 KB | 0644 |
|
foldkeys.c | File | 7.44 KB | 0644 |
|
gdc.6 | File | 3.03 KB | 0644 |
|
gdc.c | File | 8.74 KB | 0644 |
|
hanoi.c | File | 8.58 KB | 0644 |
|
hashtest.c | File | 6.58 KB | 0644 |
|
inch_wide.c | File | 7.21 KB | 0644 |
|
inchs.c | File | 7.15 KB | 0644 |
|
ins_wide.c | File | 12.25 KB | 0644 |
|
insdelln.c | File | 9.16 KB | 0644 |
|
inserts.c | File | 10.62 KB | 0644 |
|
install-sh | File | 6.96 KB | 0644 |
|
key_names.c | File | 3.22 KB | 0644 |
|
keynames.c | File | 3.07 KB | 0644 |
|
knight.c | File | 18.54 KB | 0644 |
|
linedata.h | File | 3.16 KB | 0644 |
|
linux-color.dat | File | 2.56 KB | 0644 |
|
listused.sh | File | 5.46 KB | 0644 |
|
lrtest.c | File | 5.24 KB | 0644 |
|
make-tar.sh | File | 4.8 KB | 0644 |
|
mk-test.awk | File | 4.42 KB | 0644 |
|
modules | File | 5.07 KB | 0644 |
|
movewindow.c | File | 16.44 KB | 0644 |
|
ncurses.c | File | 154.98 KB | 0644 |
|
ncurses_tst.hin | File | 2.88 KB | 0644 |
|
newdemo.c | File | 7.38 KB | 0644 |
|
programs | File | 5.28 KB | 0644 |
|
railroad.c | File | 5.66 KB | 0644 |
|
rain.c | File | 8.44 KB | 0644 |
|
redraw.c | File | 4.66 KB | 0644 |
|
savescreen.c | File | 7.49 KB | 0644 |
|
savescreen.sh | File | 2.66 KB | 0644 |
|
tclock.c | File | 5.26 KB | 0644 |
|
test.priv.h | File | 19.55 KB | 0644 |
|
test_add_wchstr.c | File | 14.08 KB | 0644 |
|
test_addchstr.c | File | 12.14 KB | 0644 |
|
test_addstr.c | File | 10.3 KB | 0644 |
|
test_addwstr.c | File | 12.37 KB | 0644 |
|
test_arrays.c | File | 3.83 KB | 0644 |
|
test_get_wstr.c | File | 8.94 KB | 0644 |
|
test_getstr.c | File | 8.88 KB | 0644 |
|
test_instr.c | File | 6.49 KB | 0644 |
|
test_inwstr.c | File | 6.69 KB | 0644 |
|
test_opaque.c | File | 10.42 KB | 0644 |
|
test_vid_puts.c | File | 3.97 KB | 0644 |
|
test_vidputs.c | File | 3.92 KB | 0644 |
|
testaddch.c | File | 3.46 KB | 0644 |
|
testcurs.c | File | 16.69 KB | 0644 |
|
testscanw.c | File | 2.88 KB | 0644 |
|
tracemunch | File | 5.01 KB | 0644 |
|
view.c | File | 13.84 KB | 0644 |
|
widechars-utf8.txt | File | 389 B | 0644 |
|
widechars.h | File | 3.19 KB | 0644 |
|
worm.c | File | 14.01 KB | 0644 |
|
xmas.c | File | 33.47 KB | 0644 |
|
xterm-16color.dat | File | 2.99 KB | 0644 |
|
xterm-256color.dat | File | 6.88 KB | 0644 |
|
xterm-88color.dat | File | 4.11 KB | 0644 |
|