llvm-project

Форк
0
/
findsym.pl 
35 строк · 848.0 Байт
1
#!/usr/bin/env perl
2
#
3
# Program:  findsym.pl
4
#
5
# Synopsis: Generate a list of the libraries in which a symbol is defined or
6
#           referenced.
7
#
8
# Syntax:   findsym.pl <directory_with_libraries_in_it> <symbol>
9
#
10

11
use warnings;
12

13
# Give first option a name.
14
my $Directory = $ARGV[0];
15
my $Symbol = $ARGV[1];
16

17
# Open the directory and read its contents, sorting by name and differentiating
18
# by whether its a library (.a) or an object file (.o)
19
opendir DIR,$Directory;
20
my @files = readdir DIR;
21
closedir DIR;
22
@objects = grep(/l?i?b?LLVM.*\.[oa]$/,sort(@files));
23

24
# Gather definitions from the libraries
25
foreach $lib (@objects) {
26
  my $head = 0;
27
  open SYMS, 
28
    "nm $Directory/$lib | grep '$Symbol' | sort --key=3 | uniq |";
29
  while (<SYMS>) {
30
    if (!$head) { print "$lib:\n"; $head = 1; }
31
    chomp($_);
32
    print "  $_\n";
33
  }
34
  close SYMS;
35
}
36

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.