xref: /utopia/UTPA2-700.0.x/projects/build/scripts/profile2linkerlist.pl (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi#!/usr/bin/perl
2*53ee8cc1Swenshuai.xi
3*53ee8cc1Swenshuai.xi#
4*53ee8cc1Swenshuai.xi# Takes a (sorted) output of readprofile and turns it into a list suitable for
5*53ee8cc1Swenshuai.xi# linker scripts
6*53ee8cc1Swenshuai.xi#
7*53ee8cc1Swenshuai.xi# usage:
8*53ee8cc1Swenshuai.xi#	 readprofile | sort -rn | perl profile2linkerlist.pl > functionlist
9*53ee8cc1Swenshuai.xi#
10*53ee8cc1Swenshuai.xiuse strict;
11*53ee8cc1Swenshuai.xi
12*53ee8cc1Swenshuai.xiwhile (<>) {
13*53ee8cc1Swenshuai.xi  my $line = $_;
14*53ee8cc1Swenshuai.xi
15*53ee8cc1Swenshuai.xi  $_ =~ /\W*[0-9]+\W*([a-zA-Z\_0-9]+)\W*[0-9]+/;
16*53ee8cc1Swenshuai.xi
17*53ee8cc1Swenshuai.xi  print "*(.text.$1)\n"
18*53ee8cc1Swenshuai.xi      unless ($line =~ /unknown/) || ($line =~ /total/);
19*53ee8cc1Swenshuai.xi}
20