Changes in directory llvm/utils:
findsym.pl added (r1.1) --- Log message: A little script to find LLVM symbols. Ideally this would use c++filt for both input and output to render everything in C++, but that will be the next patch. For now, it just runs nm and greps each .o or .a file for the desired symbol. --- Diffs of the changes: (+34 -0) findsym.pl | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+) Index: llvm/utils/findsym.pl diff -c /dev/null llvm/utils/findsym.pl:1.1 *** /dev/null Thu Mar 23 17:05:00 2006 --- llvm/utils/findsym.pl Thu Mar 23 17:04:50 2006 *************** *** 0 **** --- 1,34 ---- + #!/usr/bin/perl -w + # + # Program: findsym.pl + # + # Synopsis: Generate a list of the libraries in which a symbol is defined or + # referenced. + # + # Syntax: GenLibDeps.pl <directory_with_libraries_in_it> <symbol> + # + + # Give first option a name. + my $Directory = $ARGV[0]; + my $Symbol = $ARGV[1]; + + + # Open the directory and read its contents, sorting by name and differentiating + # by whether its a library (.a) or an object file (.o) + opendir DIR,$Directory; + my @files = readdir DIR; + closedir DIR; + @objects = grep(/l?i?b?LLVM.*\.[oa]$/,sort(@files)); + + # Gather definitions from the libraries + foreach $lib (@objects) { + my $head = 0; + open SYMS, + "nm $Directory/$lib | grep '$Symbol' | sort --key=3 | uniq |"; + while (<SYMS>) { + if (!$head) { print "$lib:\n"; $head = 1; } + chomp($_); + print " $_\n"; + } + close SYMS; + } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits