Mercurial > hg > CbC > CbC_llvm
view utils/findsym.pl @ 140:276c179585fe
Added tag LLVM5.0.1 for changeset 3a76565eade5
author | mir3636 |
---|---|
date | Tue, 03 Apr 2018 19:09:39 +0900 |
parents | 95c75e76d11b |
children |
line wrap: on
line source
#!/usr/bin/perl -w # # Program: findsym.pl # # Synopsis: Generate a list of the libraries in which a symbol is defined or # referenced. # # Syntax: findsym.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; }