Вы можете использовать Binutils::Objdump
.
hello.c :
#include <stdio.h>
int main() {
printf("Hello world!\n");
}
Создать ELF :
gcc -g hello.c -o hello
objdump.pl :
use feature qw(say);
use strict;
use warnings;
use Binutils::Objdump (); # Seems like this module is missing Exporter interface!??
my $search_string = 'hello.c';
Binutils::Objdump::objdumpopt('-t');
Binutils::Objdump::objdumpwrap("SYMBOL TABLE" => sub { mysymtab( $search_string, @_ ) });
Binutils::Objdump::objdump('hello');
sub mysymtab {
my ($search_string, @lines) = @_;
for my $line (@lines) {
say $line if $line =~ /\Q$search_string\E/;
}
}