Mercurial > hg > CbC > CbC_llvm
view llvm/utils/findsym.pl @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
#!/usr/bin/env perl # # 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> # use warnings; # 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; }