1cb77f0d6SKamil Rytarowski#!/usr/bin/env perl
2*b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
34bdc3b7fSArjan van de Ven
44bdc3b7fSArjan van de Ven#
54bdc3b7fSArjan van de Ven# Takes a (sorted) output of readprofile and turns it into a list suitable for
64bdc3b7fSArjan van de Ven# linker scripts
74bdc3b7fSArjan van de Ven#
84bdc3b7fSArjan van de Ven# usage:
94bdc3b7fSArjan van de Ven#	 readprofile | sort -rn | perl profile2linkerlist.pl > functionlist
104bdc3b7fSArjan van de Ven#
119c49fd30SStephen Hemmingeruse strict;
124bdc3b7fSArjan van de Ven
134bdc3b7fSArjan van de Venwhile (<>) {
144bdc3b7fSArjan van de Ven  my $line = $_;
154bdc3b7fSArjan van de Ven
164bdc3b7fSArjan van de Ven  $_ =~ /\W*[0-9]+\W*([a-zA-Z\_0-9]+)\W*[0-9]+/;
174bdc3b7fSArjan van de Ven
189c49fd30SStephen Hemminger  print "*(.text.$1)\n"
199c49fd30SStephen Hemminger      unless ($line =~ /unknown/) || ($line =~ /total/);
204bdc3b7fSArjan van de Ven}
21