Merge tag 'char-misc-5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[platform/kernel/linux-starfive.git] / scripts / profile2linkerlist.pl
1 #!/usr/bin/env perl
2 # SPDX-License-Identifier: GPL-2.0
3
4 #
5 # Takes a (sorted) output of readprofile and turns it into a list suitable for
6 # linker scripts
7 #
8 # usage:
9 #        readprofile | sort -rn | perl profile2linkerlist.pl > functionlist
10 #
11 use strict;
12
13 while (<>) {
14   my $line = $_;
15
16   $_ =~ /\W*[0-9]+\W*([a-zA-Z\_0-9]+)\W*[0-9]+/;
17
18   print "*(.text.$1)\n"
19       unless ($line =~ /unknown/) || ($line =~ /total/);
20 }