mirror of
https://github.com/ThomasKing2014/android-firmware-qti-sdm660
synced 2025-11-20 23:39:09 +08:00
3709 lines
165 KiB
Perl
Executable File
3709 lines
165 KiB
Perl
Executable File
$targetName=$ARGV[0];
|
|
$inputfilename=$ARGV[1];
|
|
$PDName=$ARGV[2];
|
|
$arg_len=@ARGV;
|
|
if($arg_len != 3)
|
|
{
|
|
print"**********Usage of the script:**********\n";
|
|
print"perl <name of the script> <Target Name> <path to the map file> <PD Name>\n";
|
|
print"Example:\n";
|
|
print"perl Image_Break_Down.pl 8974 <path>/<filename>.map <sensors>\n";
|
|
print"****************************************\n";
|
|
}
|
|
open(OUTRPTFILE, ">Memory_Info_$targetName\_$PDName.xls") or die "not able to open file \"Memory_Info.xls\" in write mode";#Writing to a file "system.xls" which is output.
|
|
undef $libarraytext_name;
|
|
undef $libarraytext_name1;
|
|
undef $libarrayrodata_name;
|
|
undef $libarrayrodata_name1;
|
|
undef $libarraydata_name;
|
|
undef $libarraydata_name1;
|
|
undef $libarraysdata_name;
|
|
undef $libarraysdata_name1;
|
|
undef $libarraysbss_name;
|
|
undef $libarraysbss_name1;
|
|
undef $libarraybss_name;
|
|
undef $libarraybss_name1;
|
|
undef $componentText;
|
|
undef $componentRodata;
|
|
undef $componentData;
|
|
undef $componentSdata;
|
|
undef $componentSbss;
|
|
undef $componentBss;
|
|
$qsr_stringdec = 0;
|
|
$qsr_stringdecKB = 0;
|
|
$single_lin = 0;
|
|
$bssSingleLine = 0;
|
|
$flagCurr=0;
|
|
$textStartFlagCurr=0;
|
|
$bssStartFlagCurr=0;
|
|
$flagCurrRodata=0;
|
|
$flagCurrData=0;
|
|
$flagCurrSdata=0;
|
|
$flagCurrSbss=0;
|
|
$flagCurrBss=0;
|
|
$startStartFlag = 0;
|
|
$textStartFlag = 0;
|
|
$finiStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$dataStartFlag = 0;
|
|
$eh_frameStartFlag = 0;
|
|
$gcc_except_tableStartFlag = 0;
|
|
$qurt_context_tcmStartFlag = 0;
|
|
$a8974_devcfg_data=0;
|
|
$a8x26_devcfg_data=0;
|
|
$a9625_devcfg_data=0;
|
|
$a8610_devcfg_data=0;
|
|
$a8092_devcfg_data=0;
|
|
$a8094_devcfg_data=0;
|
|
$devcfg_dataStartFlag = 0;
|
|
$ctorsStartFlag = 0;
|
|
$dtorsStartFlag = 0;
|
|
$sdataStartFlag = 0;
|
|
$sbssStartFlag = 0;
|
|
$bssStartFlag = 0;
|
|
$dynstrStartFlag = 0;
|
|
$dynsymStartFlag = 0;
|
|
$hashStartFlag = 0;
|
|
$dynamicStartFlag = 0;
|
|
$interpStartFlag = 0;
|
|
$gotStartFlag = 0;
|
|
if (open(TRACEFILE,"$inputfilename")){
|
|
$inputline=<TRACEFILE>;
|
|
while ( $inputline ne "" ) {
|
|
#################################START#####################################
|
|
if (($inputline =~ /^\.start\s+0x(\w+)\s+0x(\w+)/) || ($startStartFlag == 1))
|
|
{
|
|
$startStartAddrHex=$1;
|
|
$overallStartSizeHex=$2;
|
|
$startStartAddrDec=hex($startStartAddrHex);
|
|
$overallStartSizeDec=hex($overallStartSizeHex);
|
|
$startStartFlag = 0;
|
|
}
|
|
#################################INIT#####################################
|
|
if (($inputline =~ /^\.init\s+0x(\w+)\s+0x(\w+)/) || ($initStartFlag == 1))
|
|
{
|
|
$startStartFlag = 0;
|
|
$initStartAddrHex=$1;
|
|
$overallInitSizeHex=$2;
|
|
$initStartAddrDec=hex($initStartAddrHex);
|
|
$overallInitSizeDec=hex($overallInitSizeHex);
|
|
$initStartFlag = 0;
|
|
}
|
|
#################################TEXT#####################################
|
|
if (($inputline =~ /^\.text\s+0x(\w+)\s+0x(\w+)/) || ($textStartFlag == 1))
|
|
{
|
|
#print"\n$inputline\n";
|
|
#die"out";
|
|
$initStartFlag = 0;
|
|
$textStartAddrHex=$1;
|
|
$overallTextSizeHex=$2;
|
|
$textStartAddrDec=hex($textStartAddrHex);
|
|
$textStartAddrDec2=$textStartAddrDec;
|
|
$overallTextSizeDec=hex($overallTextSizeHex);
|
|
$textEndAddrDec=$textStartAddrDec+$overallTextSizeDec;
|
|
$textStartFlag = 1;
|
|
#if(($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/))
|
|
if(($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.text\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.text\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.text\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{ $single_lin=1;
|
|
$flag=0;
|
|
$textStartAddressHex=$1;
|
|
$libraryTextName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$textStartAddressDec=hex($textStartAddressHex);
|
|
|
|
if($flagCurr==1)
|
|
{
|
|
$textStartAddressDec=hex($textStartAddressHex);
|
|
if($textStartAddressDec == 0)
|
|
{
|
|
goto textoutSection;
|
|
}
|
|
$SizeOfLib=$textStartAddressDec-$textStartAddressDecPrev;
|
|
$libarraytext_name{$libraryTextNamePrev}=$libarraytext_name{$libraryTextNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
#print"\n$level1Prev : $level2Prev\n";
|
|
$level1Prev = $level2Prev;
|
|
#die"out";
|
|
}
|
|
$libarraytext_name1{$libraryTextNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurr=1;
|
|
goto labelText;
|
|
}
|
|
elsif (($inputline =~ /\s+\.text\.(\w+)/) || ($inputline =~ /^\s+QURTK\.(.+)\.text/) || ($inputline =~ /^\s+QURT\.(.+)\.text/))
|
|
{
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$textStartAddressHex=$1;
|
|
$libraryTextName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$textStartAddressDec=hex($textStartAddressHex);
|
|
#print"\n$textStartAddressDec\n";
|
|
#print"\n$textStartAddrDec2\n";
|
|
#die"out";
|
|
if(($textStartFlagCurr==0) && ($single_lin==0))
|
|
{
|
|
if($textStartAddressDec == $textStartAddrDec2)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
#print"\n$textStartAddressDec\n";
|
|
#print"\n$textStartAddrDec2\n";
|
|
$SizeOfLib=$textStartAddressDec-$textStartAddrDec2;
|
|
#print"\n$SizeOfLib\n";
|
|
$libraryTextNamePrev="TextAlignmentStart";
|
|
$libarraytext_name{$libraryTextNamePrev}=$libarraytext_name{$libraryTextNamePrev}+$SizeOfLib;
|
|
#print"\n$libarraytext_name{$libraryTextNamePrev}\n";
|
|
$libarraytext_name1{$libraryTextNamePrev}="TextAlignmentStart";
|
|
#print"\n$libarraytext_name1{$libraryTextNamePrev}\n";
|
|
#$textStartAddressDecPrev=$textStartAddressDec2;
|
|
#$level1="TextAlignmentStart";
|
|
#$level2="TextAlignmentStart";
|
|
#die"outtext";
|
|
}
|
|
}
|
|
$textStartFlagCurr=1;
|
|
if($flagCurr==1)
|
|
{
|
|
$textStartAddressDec=hex($textStartAddressHex);
|
|
if($textStartAddressDec == 0)
|
|
{
|
|
goto textoutSection;
|
|
}
|
|
$SizeOfLib=$textStartAddressDec-$textStartAddressDecPrev;
|
|
$libarraytext_name{$libraryTextNamePrev}=$libarraytext_name{$libraryTextNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraytext_name1{$libraryTextNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurr=1;
|
|
goto labelText;
|
|
}
|
|
}
|
|
labelText:
|
|
if($textStartAddressDec!=0)
|
|
{
|
|
$textStartAddressHexPrev=$textStartAddressHex;
|
|
$textStartAddressDecPrev=hex($textStartAddressHexPrev);
|
|
$libraryTextNamePrev=$libraryTextName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$textlevel1Prev=$level1Prev;
|
|
$textStartAddrDec2=$textStartAddrDec;
|
|
}
|
|
textoutSection:
|
|
}
|
|
#################################FINI#####################################
|
|
if (($inputline =~ /^\.fini\s+0x(\w+)\s+0x(\w+)/) || ($finiStartFlag == 1))
|
|
{
|
|
$textStartFlag = 0;
|
|
$finiStartAddrHex=$1;
|
|
$overallFiniSizeHex=$2;
|
|
$finiStartAddrDec=hex($finiStartAddrHex);
|
|
$overallFiniSizeDec=hex($overallFiniSizeHex);
|
|
}
|
|
#################################RODATA#####################################
|
|
if (($inputline =~ /^\.rodata\s+0x(\w+)\s+0x(\w+)/) || ($rodataStartFlag == 1))
|
|
{
|
|
$finiStartFlag = 0;
|
|
$textStartFlag = 0;
|
|
$rodataStartAddrHex=$1;
|
|
$overallRodataSizeHex=$2;
|
|
$rodataStartAddrDec=hex($rodataStartAddrHex);
|
|
$overallRodataSizeDec=hex($overallRodataSizeHex);
|
|
$rodataEndAddrDec=$rodataStartAddrDec+$overallRodataSizeDec;
|
|
#print"\n$rodataStartAddrHex:$overallRodataSizeHex\n";
|
|
#die"out";
|
|
$rodataStartFlag = 1;
|
|
if(($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/HEXAGON_Tools\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/HEXAGON_Tools\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/)|| ($inputline =~ /^\s+\.rodata\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.rodata\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$rodataStartAddressHex=$1;
|
|
$libraryRodataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$rodataStartAddressDec=hex($rodataStartAddressHex);
|
|
if($flagCurrRodata==1)
|
|
{
|
|
$rodataStartAddressDec=hex($rodataStartAddressHex);
|
|
if($rodataStartAddressDec == 0)
|
|
{
|
|
goto outSection;
|
|
}
|
|
$SizeOfLib=$rodataStartAddressDec-$rodataStartAddressDecPrev;
|
|
$libarrayrodata_name{$libraryRodataNamePrev}=$libarrayrodata_name{$libraryRodataNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarrayrodata_name1{$libraryRodataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrRodata=1;
|
|
goto labelRodata;
|
|
}
|
|
elsif (($inputline =~ /^\s+\.rodata\.(\w+)/)|| ($inputline =~ /^\s+QURTK\.(.+)\.rodata/) || ($inputline =~ /^\s+QURT\.(.+)\.rodata/) || ($inputline =~ /^\s+\.rodata\.(.+)/) || ($inputline =~ /^\s+\.striplib\.QSR_STR/) || ($inputline =~ /^\s+QSR_STR\.fmt\.rodata\./) || ($inputline =~ /^\s+QSR_STR\.fmt\.rodata\.(.+)/))
|
|
{
|
|
#if (($inputline =~ /^\s+QSR_STR\.fmt\.rodata\./) || ($inputline =~ /^\s+QSR_STR\.fmt\.rodata\.(.+)/))
|
|
#{
|
|
#$inputline=<TRACEFILE>;
|
|
#print "\n$inputline=\n";
|
|
#die"out";
|
|
#}
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.rodata\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$rodataStartAddressHex=$1;
|
|
$libraryRodataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$rodataStartAddressDec=hex($rodataStartAddressHex);
|
|
if($flagCurrRodata==1)
|
|
{
|
|
$rodataStartAddressDec=hex($rodataStartAddressHex);
|
|
if($rodataStartAddressDec == 0)
|
|
{
|
|
goto outSection;
|
|
}
|
|
$SizeOfLib=$rodataStartAddressDec-$rodataStartAddressDecPrev;
|
|
$libarrayrodata_name{$libraryRodataNamePrev}=$libarrayrodata_name{$libraryRodataNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarrayrodata_name1{$libraryRodataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrRodata=1;
|
|
goto labelRodata;
|
|
}
|
|
labelRodata:
|
|
#if(($rodataStartAddressDec!=0) || ($rodataStartFlag != 1))
|
|
if($rodataStartAddressDec!=0)
|
|
{
|
|
$rodataStartAddressHexPrev=$rodataStartAddressHex;
|
|
$rodataStartAddressDecPrev=hex($rodataStartAddressHexPrev);
|
|
$libraryRodataNamePrev=$libraryRodataName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$rodatalevel1Prev=$level1Prev;
|
|
}
|
|
outSection:
|
|
}
|
|
}
|
|
#################################8974_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.8974\_DEVCFG\_DATA/) || ($a8974_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a8974_devcfg_dataStartAddrHex=$1;
|
|
$overalla8974_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a8974_devcfg_dataStartAddrDec=hex($a8974_devcfg_dataStartAddrHex);
|
|
$overalla8974_devcfg_dataSizeDec=hex($overalla8974_devcfg_dataSizeHex);
|
|
$a8974_devcfg_data = 0;
|
|
}
|
|
#################################8626_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.8x26\_DEVCFG\_DATA/) || ($inputline =~ /^\.8626\_DEVCFG\_DATA/) || ($a8626_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a8626_devcfg_dataStartAddrHex=$1;
|
|
$overalla8626_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a8626_devcfg_dataStartAddrDec=hex($a8626_devcfg_dataStartAddrHex);
|
|
$overalla8626_devcfg_dataSizeDec=hex($overalla8626_devcfg_dataSizeHex);
|
|
$a8626_devcfg_data = 0;
|
|
}
|
|
#################################9625_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.9625\_DEVCFG\_DATA/) || ($inputline =~ /^\.9x25\_DEVCFG\_DATA/) || ($a9625_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a9625_devcfg_dataStartAddrHex=$1;
|
|
$overalla9625_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a9625_devcfg_dataStartAddrDec=hex($a9625_devcfg_dataStartAddrHex);
|
|
$overalla9625_devcfg_dataSizeDec=hex($overalla9625_devcfg_dataSizeHex);
|
|
$a9625_devcfg_data = 0;
|
|
}
|
|
#################################8610_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.8610\_DEVCFG\_DATA/) || ($inputline =~ /^\.8x10\_DEVCFG\_DATA/) || ($a8610_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a8610_devcfg_dataStartAddrHex=$1;
|
|
$overalla8610_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a8610_devcfg_dataStartAddrDec=hex($a8610_devcfg_dataStartAddrHex);
|
|
$overalla8610_devcfg_dataSizeDec=hex($overalla8610_devcfg_dataSizeHex);
|
|
$a8610_devcfg_data = 0;
|
|
}
|
|
#################################8092_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.8092\_DEVCFG\_DATA/) || ($a8092_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a8092_devcfg_dataStartAddrHex=$1;
|
|
$overalla8092_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a8092_devcfg_dataStartAddrDec=hex($a8092_devcfg_dataStartAddrHex);
|
|
$overalla8092_devcfg_dataSizeDec=hex($overalla8092_devcfg_dataSizeHex);
|
|
$a8092_devcfg_data = 0;
|
|
}
|
|
#################################8094_DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.8094\_DEVCFG\_DATA/) || ($a8094_devcfg_data == 1))
|
|
{
|
|
$dataStartFlag=0;
|
|
$rodataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$a8094_devcfg_dataStartAddrHex=$1;
|
|
$overalla8094_devcfg_dataSizeHex=$2;
|
|
}
|
|
$a8094_devcfg_dataStartAddrDec=hex($a8094_devcfg_dataStartAddrHex);
|
|
$overalla8094_devcfg_dataSizeDec=hex($overalla8094_devcfg_dataSizeHex);
|
|
$a8094_devcfg_data = 0;
|
|
}
|
|
#################################DATA#####################################
|
|
if (($inputline =~ /^\.data\s+0x(\w+)\s+0x(\w+)/) || ($dataStartFlag == 1))
|
|
{
|
|
$textStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$dataStartAddrHex=$1;
|
|
$overallDataSizeHex=$2;
|
|
$dataStartAddrDec=hex($dataStartAddrHex);
|
|
$overallDataSizeDec=hex($overallDataSizeHex);
|
|
$dataEndAddrDec=$dataStartAddrDec+$overallDataSizeDec;
|
|
#print"\npramod1:$dataStartAddrDec $dataEndAddrDec $overallDataSizeDec\n";
|
|
#print"\n$inputline\n";
|
|
#die"dataend";
|
|
$dataStartFlag = 1;
|
|
if(($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.data\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.data\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
#print"\n$inputline\n";
|
|
#die"out";
|
|
$flag=0;
|
|
$dataStartAddressHex=$1;
|
|
$libraryDataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$dataStartAddressDec=hex($dataStartAddressHex);
|
|
if($flagCurrData==1)
|
|
{
|
|
$dataStartAddressDec=hex($dataStartAddressHex);
|
|
if($dataStartAddressDec == 0)
|
|
{
|
|
goto dataoutSection;
|
|
}
|
|
$SizeOfLib=$dataStartAddressDec-$dataStartAddressDecPrev;
|
|
#print"\n$libraryDataNamePrev\n";
|
|
#print"\n$dataStartAddressDec $dataStartAddressDecPrev $SizeOfLib\n";
|
|
#print"\n$SizeOfLib\n";
|
|
$libarraydata_name{$libraryDataNamePrev}=$libarraydata_name{$libraryDataNamePrev}+$SizeOfLib;
|
|
#print"\n$libraryDataNamePrev\n";
|
|
#print"\n$libarraydata_name{$libraryDataNamePrev}\n";
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraydata_name1{$libraryDataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrData=1;
|
|
goto labelData;
|
|
}
|
|
elsif (($inputline =~ /^\s+\.data\.(\w+)/) || ($inputline =~ /^\s+QURTK\.(.+)\.data/) || ($inputline =~ /^\s+QURT\.(.+)\.data/) || ($inputline =~ /^\s+\.data\.(.+)/))
|
|
{
|
|
#print"\n$inputline\n";
|
|
#die"out";
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.data\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$dataStartAddressHex=$1;
|
|
$libraryDataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$dataStartAddressDec=hex($dataStartAddressHex);
|
|
if($flagCurrData==1)
|
|
{
|
|
$dataStartAddressDec=hex($dataStartAddressHex);
|
|
if($dataStartAddressDec == 0)
|
|
{
|
|
goto dataoutSection;
|
|
}
|
|
$SizeOfLib=$dataStartAddressDec-$dataStartAddressDecPrev;
|
|
#print"\n$libraryDataNamePrev\n";
|
|
#print"\n$dataStartAddressDec $dataStartAddressDecPrev $SizeOfLib\n";
|
|
$libarraydata_name{$libraryDataNamePrev}=$libarraydata_name{$libraryDataNamePrev}+$SizeOfLib;
|
|
#print"\n$libraryDataNamePrev\n";
|
|
#print"\n$libarraydata_name{$libraryDataNamePrev}\n";
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraydata_name1{$libraryDataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrData=1;
|
|
goto labelData;
|
|
}
|
|
labelData:
|
|
if($dataStartAddressDec!=0)
|
|
{
|
|
$dataStartAddressHexPrev=$dataStartAddressHex;
|
|
$dataStartAddressDecPrev=hex($dataStartAddressHexPrev);
|
|
$libraryDataNamePrev=$libraryDataName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$datalevel1Prev=$level1Prev;
|
|
}
|
|
dataoutSection:
|
|
}
|
|
}
|
|
#################################QURTK.CONTEXTS.TCM.data#####################################
|
|
if (($inputline =~ /^QURTK\.CONTEXTS\.TCM\.data/) || ($qurt_context_tcmStartFlag == 1))
|
|
{
|
|
$dataStartFlag = 0;
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$qurt_context_tcmStartAddrHex=$1;
|
|
$overallqurt_context_tcmSizeHex=$2;
|
|
}
|
|
$qurt_context_tcmStartAddrDec=hex($qurt_context_tcmStartAddrHex);
|
|
$overallqurt_context_tcmSizeDec=hex($overallqurt_context_tcmSizeHex);
|
|
$qurt_context_tcmStartFlag = 0;
|
|
}
|
|
#################################DEVCFG_DATA#####################################
|
|
if (($inputline =~ /^\.DEVCFG\_DATA\s+0x(\w+)\s+0x(\w+)/) || ($devcfg_dataStartFlag == 1))
|
|
{
|
|
$dataStartFlag = 0;
|
|
$textStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$devcfg_dataStartAddrHex=$1;
|
|
$overalldevcfg_dataSizeHex=$2;
|
|
$devcfg_dataStartAddrDec=hex($devcfg_dataStartAddrHex);
|
|
$overalldevcfg_dataSizeDec=hex($overalldevcfg_dataSizeHex);
|
|
$devcfg_dataStartFlag = 0;
|
|
$qurt_context_tcmStartFlag = 0;
|
|
}
|
|
#################################EH_FRAME#####################################
|
|
if (($inputline =~ /^\.eh\_frame\s+0x(\w+)\s+0x(\w+)/) || ($eh_frameStartFlag == 1))
|
|
{
|
|
$dataStartFlag = 0;
|
|
$eh_frameStartAddrHex=$1;
|
|
$overallEh_frameSizeHex=$2;
|
|
$eh_frameStartAddrDec=hex($eh_frameStartAddrHex);
|
|
$overallEh_frameSizeDec=hex($overallEh_frameSizeHex);
|
|
$eh_frameStartFlag = 0;
|
|
$devcfg_dataStartFlag=0;
|
|
}
|
|
#################################GCC_EXPECT_TABLE#####################################
|
|
if (($inputline =~ /^\.gcc_except_table/) || ($gcc_except_tableStartFlag == 1))
|
|
{
|
|
$inputline=<TRACEFILE>;
|
|
if($inputline =~ /\s+0x(\w+)\s+0x(\w+)/)
|
|
{
|
|
$gcc_except_tableStartAddrHex=$1;
|
|
$overallGcc_except_tableSizeHex=$2;
|
|
}
|
|
$eh_frameStartFlag = 0;
|
|
$gcc_except_tableStartAddrDec=hex($gcc_except_tableStartAddrHex);
|
|
$overallGcc_except_tableSizeDec=hex($overallGcc_except_tableSizeHex);
|
|
$gcc_except_tableStartFlag=0;
|
|
}
|
|
#################################CTORS#####################################
|
|
if (($inputline =~ /^\.ctors\s+0x(\w+)\s+0x(\w+)/) || ($ctorsStartFlag == 1))
|
|
{
|
|
$gcc_except_tableStartFlag = 0;
|
|
$ctorsStartAddrHex=$1;
|
|
$overallCtorsSizeHex=$2;
|
|
$ctorsStartAddrDec=hex($ctorsStartAddrHex);
|
|
$overallCtorsSizeDec=hex($overallCtorsSizeHex);
|
|
$ctorsStartFlag = 0;
|
|
}
|
|
#################################DTORS#####################################
|
|
if (($inputline =~ /^\.dtors\s+0x(\w+)\s+0x(\w+)/) || ($dtorsStartFlag == 1))
|
|
{
|
|
$ctorsStartFlag = 0;
|
|
$dtorsStartAddrHex=$1;
|
|
$overallDtorsSizeHex=$2;
|
|
$dtorsStartAddrDec=hex($dtorsStartAddrHex);
|
|
$overallDtorsSizeDec=hex($overallDtorsSizeHex);
|
|
$dtorsStartFlag = 0;
|
|
}
|
|
#################################GOT#####################################
|
|
if (($inputline =~ /^\.got\s+0x(\w+)\s+0x(\w+)/) || ($gotStartFlag == 1))
|
|
{
|
|
$dtorsStartFlag = 0;
|
|
$gotStartAddrHex=$1;
|
|
$overallGotSizeHex=$2;
|
|
$gotStartAddrDec=hex($gotStartAddrHex);
|
|
$overallGotSizeDec=hex($overallGotSizeHex);
|
|
$gotStartFlag = 0;
|
|
}
|
|
#################################INTERP#####################################
|
|
if (($inputline =~ /^\.interp\s+0x(\w+)\s+0x(\w+)/) || ($interpStartFlag == 1))
|
|
{
|
|
$gotStartFlag = 0;
|
|
$interpStartAddrHex=$1;
|
|
$overallInterpSizeHex=$2;
|
|
$interpStartAddrDec=hex($interpStartAddrHex);
|
|
$overallInterpSizeDec=hex($overallInterpSizeHex);
|
|
$interpStartFlag = 0;
|
|
}
|
|
#################################DYNAMIC#####################################
|
|
if (($inputline =~ /^\.dynamic\s+0x(\w+)\s+0x(\w+)/) || ($dynamicStartFlag == 1))
|
|
{
|
|
$interpStartFlag = 0;
|
|
$dynamicStartAddrHex=$1;
|
|
$overallDynamicSizeHex=$2;
|
|
$dynamicStartAddrDec=hex($dynamicStartAddrHex);
|
|
$overallDynamicSizeDec=hex($overallDynamicSizeHex);
|
|
$dynamicStartFlag = 0;
|
|
}
|
|
#################################HASH#####################################
|
|
if (($inputline =~ /^\.hash\s+0x(\w+)\s+0x(\w+)/) || ($hashStartFlag == 1))
|
|
{
|
|
$dynamicStartFlag = 0;
|
|
$hashStartAddrHex=$1;
|
|
$overallHashSizeHex=$2;
|
|
$hashStartAddrDec=hex($hashStartAddrHex);
|
|
$overallHashSizeDec=hex($overallHashSizeHex);
|
|
$hashStartFlag = 0;
|
|
}
|
|
#################################DYNSYM#####################################
|
|
if (($inputline =~ /^\.dynsym\s+0x(\w+)\s+0x(\w+)/) || ($dynsymStartFlag == 1))
|
|
{
|
|
$hashStartFlag = 0;
|
|
$dynsymStartAddrHex=$1;
|
|
$overallDynsymSizeHex=$2;
|
|
$dynsymStartAddrDec=hex($dynsymStartAddrHex);
|
|
$overallDynsymSizeDec=hex($overallDynsymSizeHex);
|
|
$dynsymStartFlag = 0;
|
|
}
|
|
#################################DYNSTR#####################################
|
|
if (($inputline =~ /^\.dynstr\s+0x(\w+)\s+0x(\w+)/) || ($dynstrStartFlag == 1))
|
|
{
|
|
$dynsymStartFlag = 0;
|
|
$dynstrStartAddrHex=$1;
|
|
$overallDynstrSizeHex=$2;
|
|
$dynstrStartAddrDec=hex($dynstrStartAddrHex);
|
|
$overallDynstrSizeDec=hex($overallDynstrSizeHex);
|
|
$dynstrStartFlag = 0;
|
|
}
|
|
#################################SDATA#####################################
|
|
if (($inputline =~ /^\.sdata\s+0x(\w+)\s+0x(\w+)/) || ($sdataStartFlag == 1))
|
|
{
|
|
$dtorsStartFlag = 0;
|
|
$textStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$dataStartFlag = 0;
|
|
$sdataStartAddrHex=$1;
|
|
$overallSdataSizeHex=$2;
|
|
$sdataStartAddrDec=hex($sdataStartAddrHex);
|
|
$overallSdataSizeDec=hex($overallSdataSizeHex);
|
|
$sdataEndAddrDec=$sdataStartAddrDec+$overallSdataSizeDec;
|
|
$sdataStartFlag = 1;
|
|
if(($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.scommon\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\..+\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\..+\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\..+\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\..+\.\w+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.lita\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
#if(($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+[\.sdata\.\w+,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+[\.sdata,\.scommon\.\w+]\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$sdataStartAddressHex=$1;
|
|
$librarySdataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$sdataStartAddressDec=hex($sdataStartAddressHex);
|
|
if($flagCurrSdata==1)
|
|
{
|
|
$sdataStartAddressDec=hex($sdataStartAddressHex);
|
|
if($sdataStartAddressDec == 0)
|
|
{
|
|
goto sdataoutSection;
|
|
}
|
|
$SizeOfLib=$sdataStartAddressDec-$sdataStartAddressDecPrev;
|
|
$libarraysdata_name{$librarySdataNamePrev}=$libarraysdata_name{$librarySdataNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraysdata_name1{$librarySdataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrSdata=1;
|
|
goto labelSdata;
|
|
}
|
|
elsif(($inputline =~ /^\s+\.sdata\.(\w+)/) || ($inputline =~ /^\s+QURTK\.(.+)\.sdata/) || ($inputline =~ /^\s+QURT\.(.+)\.sdata/) || ($inputline =~ /^\s+\.gnu\..+/) || ($inputline =~ /^\s+\.sdata\.(.+)/))
|
|
{
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sdata\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$sdataStartAddressHex=$1;
|
|
$librarySdataName=$5;
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$sdataStartAddressDec=hex($sdataStartAddressHex);
|
|
if($flagCurrSdata==1)
|
|
{
|
|
$sdataStartAddressDec=hex($sdataStartAddressHex);
|
|
if($sdataStartAddressDec == 0)
|
|
{
|
|
goto sdataoutSection;
|
|
}
|
|
$SizeOfLib=$sdataStartAddressDec-$sdataStartAddressDecPrev;
|
|
$libarraysdata_name{$librarySdataNamePrev}=$libarraysdata_name{$librarySdataNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraysdata_name1{$librarySdataNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrSdata=1;
|
|
goto labelSdata;
|
|
}
|
|
labelSdata:
|
|
if($sdataStartAddressDec != 0)
|
|
{
|
|
$sdataStartAddressHexPrev=$sdataStartAddressHex;
|
|
$sdataStartAddressDecPrev=hex($sdataStartAddressHexPrev);
|
|
$librarySdataNamePrev=$librarySdataName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$sdatalevel1Prev=$level1Prev;
|
|
}
|
|
sdataoutSection:
|
|
}
|
|
}
|
|
|
|
#################################SBSS#####################################
|
|
if (($inputline =~ /^\.sbss\s+0x(\w+)\s+0x(\w+)/) || ($sbssStartFlag == 1))
|
|
{
|
|
$textStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$dataStartFlag = 0;
|
|
$sdataStartFlag = 0;
|
|
$sbssStartAddrHex=$1;
|
|
$overallSbssSizeHex=$2;
|
|
$sbssStartAddrDec=hex($sbssStartAddrHex);
|
|
$overallSbssSizeDec=hex($overallSbssSizeHex);
|
|
$sbssEndAddrDec=$sbssStartAddrDec+$overallSbssSizeDec;
|
|
$sbssStartFlag = 1;
|
|
if(($inputline =~ /^\s+\.scommon\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.sbss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$sbssStartAddressHex=$1;
|
|
$librarySbssName=$5;
|
|
$sbssLengthHex=$2;
|
|
$sbssLengthDec=hex($sbssLengthHex);
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$sbssStartAddressDec=hex($sbssStartAddressHex);
|
|
if($flagCurrSbss==1)
|
|
{
|
|
$sbssStartAddressDec=hex($sbssStartAddressHex);
|
|
if($sbssStartAddressDec == 0)
|
|
{
|
|
goto sbssoutSection;
|
|
}
|
|
$SizeOfLib=$sbssStartAddressDec-$sbssStartAddressDecPrev;
|
|
$libarraysbss_name{$librarySbssNamePrev}=$libarraysbss_name{$librarySbssNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraysbss_name1{$librarySbssNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrSbss=1;
|
|
goto labelSbss;
|
|
}
|
|
elsif(($inputline =~ /^\s+\.sbss\.(\w+)/)|| ($inputline =~ /^\s+QURTK\.(.+)\.sbss/) || ($inputline =~ /^\s+QURT\.(.+)\.sbss/) || ($inputline =~ /^\s+\.sbss\.(.+)/))
|
|
{
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.sbss\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$sbssStartAddressHex=$1;
|
|
$librarySbssName=$5;
|
|
$sbssLengthHex=$2;
|
|
$sbssLengthDec=hex($sbssLengthHex);
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$sbssStartAddressDec=hex($sbssStartAddressHex);
|
|
if($flagCurrSbss==1)
|
|
{
|
|
$sbssStartAddressDec=hex($sbssStartAddressHex);
|
|
if($sbssStartAddressDec == 0)
|
|
{
|
|
goto sbssoutSection;
|
|
}
|
|
$SizeOfLib=$sbssStartAddressDec-$sbssStartAddressDecPrev;
|
|
$libarraysbss_name{$librarySbssNamePrev}=$libarraysbss_name{$librarySbssNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraysbss_name1{$librarySbssNamePrev}=$level1Prev;
|
|
}
|
|
$flagCurrSbss=1;
|
|
goto labelSbss;
|
|
}
|
|
labelSbss:
|
|
if($sbssStartAddressDec != 0)
|
|
{
|
|
$sbssStartAddressHexPrev=$sbssStartAddressHex;
|
|
$sbssStartAddressDecPrev=hex($sbssStartAddressHexPrev);
|
|
$sbssLengthDecPrev=$sbssLengthDec;
|
|
$librarySbssNamePrev=$librarySbssName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$sbsslevel1Prev=$level1Prev;
|
|
}
|
|
sbssoutSection:
|
|
}
|
|
}
|
|
#################################BSS#####################################
|
|
if (($inputline =~ /^\.bss\s+0x(\w+)\s+0x(\w+)/) || ($bssStartFlag == 1))
|
|
{
|
|
$textStartFlag = 0;
|
|
$rodataStartFlag = 0;
|
|
$dataStartFlag = 0;
|
|
$sdataStartFlag = 0;
|
|
$sbssStartFlag = 0;
|
|
$bssStartAddrHex=$1;
|
|
$overallBssSizeHex=$2;
|
|
$bssStartAddrDec=hex($bssStartAddrHex);
|
|
$bssStartAddrDec2=$bssStartAddrDec;
|
|
$overallBssSizeDec=hex($overallBssSizeHex);
|
|
$bssEndAddrDec=$bssStartAddrDec+$overallBssSizeDec;
|
|
$bssEndAddrHex=dectohex($bssEndAddrDec);
|
|
$bssStartFlag = 1;
|
|
if(($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\w+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+).\w+/) || ($inputline =~ /^\s+\.COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\.\d+\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /^\s+LPMDEC\.data\s+0x(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\COMMON\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+\.bss\..+\s+0x(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$bssSingleLine = 1;
|
|
$flag=0;
|
|
$bssStartAddressHex=$1;
|
|
$libraryBssName=$5;
|
|
$bssLengthHex=$2;
|
|
$bssLengthDec=hex($bssLengthHex);
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$bssStartAddressDec=hex($bssStartAddressHex);
|
|
if($flagCurrBss==1)
|
|
{
|
|
$bssStartAddressDec=hex($bssStartAddressHex);
|
|
if($bssStartAddressDec == 0)
|
|
{
|
|
goto bssoutSection;
|
|
}
|
|
$SizeOfLib=$bssStartAddressDec-$bssStartAddressDecPrev;
|
|
$libarraybss_name{$libraryBssNamePrev}=$libarraybss_name{$libraryBssNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraybss_name1{$libraryBssNamePrev}=$level1Prev;
|
|
print OUTRPTFILE1 ("\n$SizeOfLib:$libraryBssNamePrev:$level1Prev:$bssStartAddressHexPrev:$bssStartAddressDecPrev:$bssStartAddressHex:$bssStartAddressDec\n");
|
|
}
|
|
$flagCurrBss=1;
|
|
goto labelBss;
|
|
}
|
|
elsif(($inputline =~ /^\s+\.bss\.(\w+)/)|| ($inputline =~ /^\s+QURTK\.(.+)\.bss/) || ($inputline =~ /^\s+QURT\.(.+)\.bss/) || ($inputline =~ /^\s+lpa\_audio\_lpm\.data/) || ($inputline =~ /^\s+\.bss\.(.+)/))
|
|
{
|
|
$inputline=<TRACEFILE>;
|
|
if(($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+(\w+)\:\/.+\/(HEXAGON_Tools)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /^\s+\.bss\s+0x(\w+)\s+(\w+)\s+(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /^\s+(\w+)\s+(\w+)\s+\.\/(\w+)\/(.+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)(\/)(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\w+\:\/.+\/adsp_proc\/(\w+)\/(\w+)\/(\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+\-\w+)\/.+\/(\w+\-\w+)\.\w+(.+)/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+/) || ($inputline =~ /\s+(\w+)\s+(\w+)\s+\.\.\/\.\.\/(\w+)\/(\w+)\/.+\/(\w+)\.\w+(.+)/))
|
|
{
|
|
$flag=0;
|
|
$bssStartAddressHex=$1;
|
|
$libraryBssName=$5;
|
|
$bssLengthHex=$2;
|
|
$bssLengthDec=hex($bssLengthHex);
|
|
$level1=$3;
|
|
$level2=$4;
|
|
if($level2 eq "HEXAGON_Tools")
|
|
{
|
|
$level1 = "qurt_Tools";
|
|
$level2 = "Hexagon_Tools";
|
|
}
|
|
$bssStartAddressDec=hex($bssStartAddressHex);
|
|
if(($bssStartFlagCurr==0) && ($bssSingleLine ==0))
|
|
{
|
|
#@die"pramod";
|
|
if($bssStartAddressDec == $bssStartAddrDec2)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
#print"\n$textStartAddressDec\n";
|
|
#print"\n$textStartAddrDec2\n";
|
|
$SizeOfLib=$bssStartAddressDec-$bssStartAddrDec2;
|
|
#print"\n$SizeOfLib\n";
|
|
$libraryBssNamePrev="BssAlignmentStart";
|
|
$libarraybss_name{$libraryBssNamePrev}=$libarraybss_name{$libraryBssNamePrev}+$SizeOfLib;
|
|
#print"\n$libarraytext_name{$libraryTextNamePrev}\n";
|
|
$libarraybss_name1{$libraryBssNamePrev}="BssAlignmentStart";
|
|
#print"\n$libarraytext_name1{$libraryTextNamePrev}\n";
|
|
#$textStartAddressDecPrev=$textStartAddressDec2;
|
|
#$level1="TextAlignmentStart";
|
|
#$level2="TextAlignmentStart";
|
|
#die"outtext";
|
|
}
|
|
}
|
|
$bssStartFlagCurr=1;
|
|
if($flagCurrBss==1)
|
|
{
|
|
$bssStartAddressDec=hex($bssStartAddressHex);
|
|
if($bssStartAddressDec == 0)
|
|
{
|
|
goto bssoutSection;
|
|
}
|
|
$SizeOfLib=$bssStartAddressDec-$bssStartAddressDecPrev;
|
|
$libarraybss_name{$libraryBssNamePrev}=$libarraybss_name{$libraryBssNamePrev}+$SizeOfLib;
|
|
if(($level2Prev eq "voc") || ($level2Prev eq "vocproc"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
if(($level1Prev eq "avs") || ($level1Prev eq "core"))
|
|
{
|
|
$level1Prev = $level2Prev;
|
|
}
|
|
$libarraybss_name1{$libraryBssNamePrev}=$level1Prev;
|
|
print OUTRPTFILE1 ("\n$SizeOfLib:$libraryBssNamePrev:$level1Prev:$bssStartAddressHexPrev:$bssStartAddressDecPrev:$bssStartAddressHex:$bssStartAddressDec\n");
|
|
}
|
|
$flagCurrBss=1;
|
|
goto labelBss;
|
|
}
|
|
labelBss:
|
|
if($bssStartAddressDec != 0)
|
|
{
|
|
$bssStartAddressHexPrev=$bssStartAddressHex;
|
|
$bssStartAddressDecPrev=hex($bssStartAddressHexPrev);
|
|
$bssLengthDecPrev=$bssLengthDec;
|
|
$libraryBssNamePrev=$libraryBssName;
|
|
$level1Prev=$level1;
|
|
$level2Prev=$level2;
|
|
$bsslevel1Prev=$level1Prev;
|
|
}
|
|
bssoutSection:
|
|
}
|
|
}
|
|
$inputline=<TRACEFILE>;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
die"out:Not able to open the map file";
|
|
}
|
|
$SizeOfLib=$textEndAddrDec-$textStartAddressDecPrev;
|
|
#print"\n$textEndAddrDec\n";
|
|
#print"\n$textStartAddressDecPrev\n";
|
|
#die"out";
|
|
$libarraytext_name{$libraryTextNamePrev}=$libarraytext_name{$libraryTextNamePrev}+$SizeOfLib;
|
|
$libarraytext_name1{$libraryTextNamePrev}=$textlevel1Prev;
|
|
$SizeOfLib=$rodataEndAddrDec-$rodataStartAddressDecPrev;
|
|
#print"\n$rodataEndAddrDec\n";
|
|
#print"\n$rodataStartAddressDecPrev\n";
|
|
#die"out";
|
|
$libarrayrodata_name{$libraryRodataNamePrev}=$libarrayrodata_name{$libraryRodataNamePrev}+$SizeOfLib;
|
|
$libarrayrodata_name1{$libraryRodataNamePrev}=$rodatalevel1Prev;
|
|
$SizeOfLib=$dataEndAddrDec-$dataStartAddressDecPrev;
|
|
#print "\n$dataEndAddrDec $dataStartAddressDecPrev $SizeOfLib\n";
|
|
#die "prem:out";
|
|
$libarraydata_name{$libraryDataNamePrev}=$libarraydata_name{$libraryDataNamePrev}+$SizeOfLib;
|
|
$libarraydata_name1{$libraryDataNamePrev}=$datalevel1Prev;
|
|
$SizeOfLib=$sdataEndAddrDec-$sdataStartAddressDecPrev;
|
|
$libarraysdata_name{$librarySdataNamePrev}=$libarraysdata_name{$librarySdataNamePrev}+$SizeOfLib;
|
|
$libarraysdata_name1{$librarySdataNamePrev}=$sdatalevel1Prev;
|
|
if($sbssLengthDecPrev != 0)
|
|
{
|
|
$SizeOfLib=$sbssEndAddrDec-$sbssStartAddressDecPrev;
|
|
$libarraysbss_name{$librarySbssNamePrev}=$libarraysbss_name{$librarySbssNamePrev}+$SizeOfLib;
|
|
$libarraysbss_name1{$librarySbssNamePrev}=$sbsslevel1Prev;
|
|
}
|
|
else
|
|
{
|
|
$libarraysbss_name{$librarySbssNamePrev}=$libarraysbss_name{$librarySbssNamePrev}+0;
|
|
$libarraysbss_name1{$librarySbssNamePrev}=$sbsslevel1Prev;
|
|
}
|
|
$SizeOfLib=$bssEndAddrDec-$bssStartAddressDecPrev;
|
|
$libarraybss_name{$libraryBssNamePrev}=$libarraybss_name{$libraryBssNamePrev}+$SizeOfLib;
|
|
$libarraybss_name1{$libraryBssNamePrev}=$bsslevel1Prev;
|
|
print OUTRPTFILE ("Library Name \t .text \t .rodata \t .data \t .sdata \t .sbss \t .bss \t Total Size KB \t ComponentName\n");
|
|
$i=keys( %libarraytext_name );
|
|
$j=keys( %libarrayrodata_name );
|
|
$k=keys( %libarraydata_name );
|
|
$l=keys( %libarraysdata_name );
|
|
$m=keys( %libarraysbss_name );
|
|
$n=keys( %libarraybss_name );
|
|
$textcmp=0;
|
|
$rodatacmp=0;
|
|
$datacmp=0;
|
|
$sdatacmp=0;
|
|
$sbsscmp=0;
|
|
$bsscmp=0;
|
|
#print"\n$i\n";
|
|
#print"\n$j\n";
|
|
#print"\n$k\n";
|
|
#print"\n$l\n";
|
|
#print"\n$m\n";
|
|
#print"\n$n\n";
|
|
if(($i>=$j) && ($i>=$k) && ($i>=$l) && ($i>=$m) && ($i>=$n))
|
|
{
|
|
#print"\n1\n";
|
|
#print"\n$i\n";
|
|
foreach $keys (keys %libarraytext_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
#$componentBss{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraydata_name) {
|
|
foreach $keys1 (keys %libarraytext_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab431;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab431:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
foreach $keys1 (keys %libarraytext_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab432;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab432:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
foreach $keys1 (keys %libarraytext_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab433;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab433:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
foreach $keys1 (keys %libarraytext_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab434;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab434:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
foreach $keys1 (keys %libarraytext_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab435;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab435:
|
|
$flag=1;
|
|
}
|
|
}
|
|
elsif(($j>=$i) && ($j>=$k) && ($j>=$l) && ($j>=$m) && ($j>=$n))
|
|
{
|
|
#print"\n2\n";
|
|
#print"\n$j\n";
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
|
|
|
|
$flag=1;
|
|
foreach $keys (keys %libarraydata_name) {
|
|
foreach $keys1 (keys %libarrayrodata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab436;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab436:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
foreach $keys1 (keys %libarrayrodata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab437;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab437:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
foreach $keys1 (keys %libarrayrodata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab438;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab438:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
foreach $keys1 (keys %libarrayrodata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab439;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab439:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraytext_name) {
|
|
foreach $keys1 (keys %libarrayrodata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab440;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab440:
|
|
$flag=1;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
elsif(($k>=$i) && ($k>=$j) && ($k>=$l) && ($k>=$m) && ($k>=$n))
|
|
{
|
|
#print"\n3\n";
|
|
#print"\n$k\n";
|
|
foreach $keys (keys %libarraydata_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
|
|
|
|
$flag=1;
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
foreach $keys1 (keys %libarraydata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab441;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab441:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
foreach $keys1 (keys %libarraydata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab442;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab442:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
foreach $keys1 (keys %libarraydata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab443;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab443:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
foreach $keys1 (keys %libarraydata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab444;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab444:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraytext_name) {
|
|
foreach $keys1 (keys %libarraydata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab445;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab445:
|
|
$flag=1;
|
|
}
|
|
|
|
|
|
}
|
|
elsif(($l>=$i) && ($l>=$j) && ($l>=$k) && ($l>=$m) && ($l>=$n))
|
|
{
|
|
#print"\n4\n";
|
|
#print"\n$l\n";
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
$flag=1;
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
foreach $keys1 (keys %libarraysdata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab446;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab446:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
foreach $keys1 (keys %libarraysdata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab447;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab447:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
foreach $keys1 (keys %libarraysdata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab448;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab448:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraydata_name) {
|
|
foreach $keys1 (keys %libarraysdata_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab449;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab449:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraytext_name) {
|
|
foreach $keys1 (keys %libarraysdata_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab450;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab450:
|
|
$flag=1;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
elsif(($m>=$i) && ($m>=$j) && ($m>=$k) && ($m>=$l) && ($m>=$n))
|
|
{
|
|
#print"\n5\n";
|
|
#print"\n$m\n";
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
}
|
|
|
|
|
|
$flag=1;
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
foreach $keys1 (keys %libarraysbss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab451;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab451:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
foreach $keys1 (keys %libarraysbss_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab452;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab452:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
foreach $keys1 (keys %libarraysbss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab453;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab453:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraydata_name) {
|
|
foreach $keys1 (keys %libarraysbss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab454;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab454:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraytext_name) {
|
|
foreach $keys1 (keys %libarraysbss_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab455;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab455:
|
|
$flag=1;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
elsif(($n>=$i) && ($n>=$j) && ($n>=$k) && ($n>=$l) && ($n>=$m))
|
|
{
|
|
#print"\n6\n";
|
|
#print"\n$n\n";
|
|
foreach $keys (keys %libarraybss_name) {
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraybss_name1{$keys}}=$componentText{$libarraybss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraybss_name1{$keys}}=$componentRodata{$libarraybss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraybss_name1{$keys}}=$componentData{$libarraybss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraybss_name1{$keys}}=$componentSdata{$libarraybss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraybss_name1{$keys}}=$componentSbss{$libarraybss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraybss_name1{$keys}}=$componentBss{$libarraybss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraybss_name1{$keys}\n");
|
|
}
|
|
|
|
$flag=1;
|
|
foreach $keys (keys %libarrayrodata_name) {
|
|
foreach $keys1 (keys %libarraybss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
#print OUTRPTFILE123 ("Inner flag is: $flag\n");
|
|
goto lab456;
|
|
}
|
|
}
|
|
|
|
#print OUTRPTFILE123 ("outer flag is: $flag\n");
|
|
if($flag == 1)
|
|
{
|
|
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarrayrodata_name1{$keys}}=$componentText{$libarrayrodata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarrayrodata_name1{$keys}}=$componentRodata{$libarrayrodata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarrayrodata_name1{$keys}}=$componentData{$libarrayrodata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarrayrodata_name1{$keys}}=$componentSdata{$libarrayrodata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarrayrodata_name1{$keys}}=$componentSbss{$libarrayrodata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarrayrodata_name1{$keys}}=$componentBss{$libarrayrodata_name1{$keys}}+$libarraybss_name{$keys};
|
|
#print"\n1:$keys\n";
|
|
##push(@extralibs,$keys);
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarrayrodata_name1{$keys}\n");
|
|
}
|
|
}
|
|
lab456:
|
|
$flag=1;
|
|
}
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
$flag=1;
|
|
foreach $keys (keys %libarraysdata_name) {
|
|
foreach $keys1 (keys %libarraybss_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab457;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab432;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n2:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysdata_name1{$keys}}=$componentText{$libarraysdata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysdata_name1{$keys}}=$componentRodata{$libarraysdata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysdata_name1{$keys}}=$componentData{$libarraysdata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysdata_name1{$keys}}=$componentSdata{$libarraysdata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysdata_name1{$keys}}=$componentSbss{$libarraysdata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysdata_name1{$keys}}=$componentBss{$libarraysdata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysdata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab457:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
##print"\n@extralibs\n";
|
|
##$length=@extralibs;
|
|
##print"\n$length\n";
|
|
foreach $keys (keys %libarraysbss_name) {
|
|
foreach $keys1 (keys %libarraybss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab458;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraysbss_name1{$keys}}=$componentText{$libarraysbss_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraysbss_name1{$keys}}=$componentRodata{$libarraysbss_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraysbss_name1{$keys}}=$componentData{$libarraysbss_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraysbss_name1{$keys}}=$componentSdata{$libarraysbss_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraysbss_name1{$keys}}=$componentSbss{$libarraysbss_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraysbss_name1{$keys}}=$componentBss{$libarraysbss_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraysbss_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab458:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraydata_name) {
|
|
foreach $keys1 (keys %libarraybss_name) {
|
|
#print OUTRPTFILE123 ("\n$keys = $keys1\n");
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab459;
|
|
}
|
|
}
|
|
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraydata_name1{$keys}}=$componentText{$libarraydata_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraydata_name1{$keys}}=$componentRodata{$libarraydata_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraydata_name1{$keys}}=$componentData{$libarraydata_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraydata_name1{$keys}}=$componentSdata{$libarraydata_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraydata_name1{$keys}}=$componentSbss{$libarraydata_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraydata_name1{$keys}}=$componentBss{$libarraydata_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraydata_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab459:
|
|
$flag=1;
|
|
}
|
|
$flag=1;
|
|
foreach $keys (keys %libarraytext_name) {
|
|
foreach $keys1 (keys %libarraybss_name) {
|
|
if($keys eq $keys1)
|
|
{
|
|
$flag=0;
|
|
goto lab460;
|
|
}
|
|
}
|
|
if($flag == 1)
|
|
{
|
|
##for($el=0;$el<$length;$el++)
|
|
##{
|
|
##if($extralibs[$el] eq $keys)
|
|
##{
|
|
##goto lab433;
|
|
##}
|
|
##}
|
|
##push(@extralibs,$keys);
|
|
|
|
#print"\n3:$keys\n";
|
|
$textcmp=$textcmp+$libarraytext_name{$keys};
|
|
$rodatacmp=$rodatacmp+$libarrayrodata_name{$keys};
|
|
$datacmp=$datacmp+$libarraydata_name{$keys};
|
|
$sdatacmp=$sdatacmp+$libarraysdata_name{$keys};
|
|
$sbsscmp=$sbsscmp+$libarraysbss_name{$keys};
|
|
$bsscmp=$bsscmp+$libarraybss_name{$keys};
|
|
$totalSize=$libarraytext_name{$keys}+$libarrayrodata_name{$keys}+$libarraydata_name{$keys}+$libarraysdata_name{$keys}+$libarraysbss_name{$keys}+$libarraybss_name{$keys};
|
|
$totalSizeKB=$totalSize/1024;
|
|
$totalSizeKB=sprintf("%.2f", $totalSizeKB);
|
|
$componentText{$libarraytext_name1{$keys}}=$componentText{$libarraytext_name1{$keys}}+$libarraytext_name{$keys};
|
|
$componentRodata{$libarraytext_name1{$keys}}=$componentRodata{$libarraytext_name1{$keys}}+$libarrayrodata_name{$keys};
|
|
$componentData{$libarraytext_name1{$keys}}=$componentData{$libarraytext_name1{$keys}}+$libarraydata_name{$keys};
|
|
$componentSdata{$libarraytext_name1{$keys}}=$componentSdata{$libarraytext_name1{$keys}}+$libarraysdata_name{$keys};
|
|
$componentSbss{$libarraytext_name1{$keys}}=$componentSbss{$libarraytext_name1{$keys}}+$libarraysbss_name{$keys};
|
|
$componentBss{$libarraytext_name1{$keys}}=$componentBss{$libarraytext_name1{$keys}}+$libarraybss_name{$keys};
|
|
if ($libarraytext_name{$keys} eq "")
|
|
{
|
|
$libarraytext_name{$keys}=0;
|
|
}
|
|
if ($libarrayrodata_name{$keys} eq "")
|
|
{
|
|
$libarrayrodata_name{$keys}=0;
|
|
}
|
|
if ($libarraydata_name{$keys} eq "")
|
|
{
|
|
$libarraydata_name{$keys}=0;
|
|
}
|
|
if ($libarraysdata_name{$keys} eq "")
|
|
{
|
|
$libarraysdata_name{$keys}=0;
|
|
}
|
|
if ($libarraysbss_name{$keys} eq "")
|
|
{
|
|
$libarraysbss_name{$keys}=0;
|
|
}
|
|
if ($libarraybss_name{$keys} eq "")
|
|
{
|
|
$libarraybss_name{$keys}=0;
|
|
}
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
if($keys ne "")
|
|
{
|
|
print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
|
|
#print OUTRPTFILE ("$keys \t $libarraytext_name{$keys} \t $libarrayrodata_name{$keys} \t $libarraydata_name{$keys} \t $libarraysdata_name{$keys} \t $libarraysbss_name{$keys} \t $libarraybss_name{$keys} \t $totalSizeKB \t $libarraytext_name1{$keys}\n");
|
|
}
|
|
lab460:
|
|
$flag=1;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
print OUTRPTFILE ("\n\n\n");
|
|
print OUTRPTFILE ("ComponentName \t .text \t .rodata \t .data \t .sdata \t .sbss \t .bss \t Total Size KB\n");
|
|
foreach $keys (keys %componentText) {
|
|
$totalComSize=$componentText{$keys}+$componentRodata{$keys}+$componentData{$keys}+$componentSdata{$keys}+$componentSbss{$keys}+$componentBss{$keys};
|
|
$totalComSizeKB=$totalComSize/1024;
|
|
$totalComSizeKB=sprintf("%.2f", $totalComSizeKB);
|
|
print OUTRPTFILE ("$keys \t $componentText{$keys} \t $componentRodata{$keys} \t $componentData{$keys} \t $componentSdata{$keys} \t $componentSbss{$keys} \t $componentBss{$keys} \t $totalComSizeKB\n");
|
|
}
|
|
$overallStartSizeDecKB=$overallStartSizeDec/1024;
|
|
$overallStartSizeDecKB=sprintf("%.2f", $overallStartSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .start size in KB:\t$overallStartSizeDecKB");
|
|
$overallInitSizeDecKB=$overallInitSizeDec/1024;
|
|
$overallInitSizeDecKB=sprintf("%.2f", $overallInitSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .init size in KB:\t$overallInitSizeDecKB");
|
|
$textcmpKB=$textcmp/1024;
|
|
$textcmpKB=sprintf("%.2f", $textcmpKB);
|
|
print OUTRPTFILE ("\nThe total .text size in KB:\t$textcmpKB");
|
|
$overallFiniSizeDecKB=$overallFiniSizeDec/1024;
|
|
$overallFiniSizeDecKB=sprintf("%.2f", $overallFiniSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .fini size in KB:\t$overallFiniSizeDecKB");
|
|
$rodatacmpKB=$rodatacmp/1024;
|
|
$rodatacmpKB=sprintf("%.2f", $rodatacmpKB);
|
|
print OUTRPTFILE ("\nThe total .rodata size in KB:\t$rodatacmpKB");
|
|
$datacmpKB=$datacmp/1024;
|
|
$datacmpKB=sprintf("%.2f", $datacmpKB);
|
|
print OUTRPTFILE ("\nThe total .data size in KB:\t$datacmpKB");
|
|
$overallqurt_context_tcmSizeDecKB=$overallqurt_context_tcmSizeDec/1024;
|
|
$overallqurt_context_tcmSizeDecKB=sprintf("%.2f", $overallqurt_context_tcmSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total QURTK.CONTEXTS.TCM.data size in KB:\t$overallqurt_context_tcmSizeDecKB");
|
|
$overalla8974_devcfg_dataSizeDecKB=$overalla8974_devcfg_dataSizeDec/1024;
|
|
$overalla8974_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla8974_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a8974_DEVCFG_DATA size in KB:\t$overalla8974_devcfg_dataSizeDecKB");
|
|
$overalla8626_devcfg_dataSizeDecKB=$overalla8626_devcfg_dataSizeDec/1024;
|
|
$overalla8626_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla8626_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a8x26_DEVCFG_DATA size in KB:\t$overalla8626_devcfg_dataSizeDecKB");
|
|
$overalla9625_devcfg_dataSizeDecKB=$overalla9625_devcfg_dataSizeDec/1024;
|
|
$overalla9625_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla9625_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a9625_DEVCFG_DATA size in KB:\t$overalla9625_devcfg_dataSizeDecKB");
|
|
$overalla8610_devcfg_dataSizeDecKB=$overalla8610_devcfg_dataSizeDec/1024;
|
|
$overalla8610_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla8610_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a8610_DEVCFG_DATA size in KB:\t$overalla8610_devcfg_dataSizeDecKB");
|
|
$overalla8092_devcfg_dataSizeDecKB=$overalla8092_devcfg_dataSizeDec/1024;
|
|
$overalla8092_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla8092_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a8092_DEVCFG_DATA size in KB:\t$overalla8092_devcfg_dataSizeDecKB");
|
|
$overalla8094_devcfg_dataSizeDecKB=$overalla8094_devcfg_dataSizeDec/1024;
|
|
$overalla8094_devcfg_dataSizeDecKB=sprintf("%.2f", $overalla8094_devcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total a8094_DEVCFG_DATA size in KB:\t$overalla8094_devcfg_dataSizeDecKB");
|
|
$overalldevcfg_dataSizeDecKB=$overalldevcfg_dataSizeDec/1024;
|
|
$overalldevcfg_dataSizeDecKB=sprintf("%.2f", $overalldevcfg_dataSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .DEVCFG_DATA size in KB:\t$overalldevcfg_dataSizeDecKB");
|
|
$overallEh_frameSizeDecKB=$overallEh_frameSizeDec/1024;
|
|
$overallEh_frameSizeDecKB=sprintf("%.2f", $overallEh_frameSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .eh_frame size in KB:\t$overallEh_frameSizeDecKB");
|
|
|
|
|
|
$overallGotSizeDecKB=$overallGotSizeDec/1024;
|
|
$overallGotSizeDecKB=sprintf("%.2f", $overallGotSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .got size in KB:\t$overallGotSizeDecKB");
|
|
$overallInterpSizeDecKB=$overallInterpSizeDec/1024;
|
|
$overallInterpSizeDecKB=sprintf("%.2f", $overallInterpSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .interp size in KB:\t$overallInterpSizeDecKB");
|
|
$overallDynamicSizeDecKB=$overallDynamicSizeDec/1024;
|
|
$overallDynamicSizeDecKB=sprintf("%.2f", $overallDynamicSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .dynamic size in KB:\t$overallDynamicSizeDecKB");
|
|
$overallHashSizeDecKB=$overallHashSizeDec/1024;
|
|
$overallHashSizeDecKB=sprintf("%.2f", $overallHashSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .hash size in KB:\t$overallHashSizeDecKB");
|
|
$overallDynsymSizeDecKB=$overallDynsymSizeDec/1024;
|
|
$overallDynsymSizeDecKB=sprintf("%.2f", $overallDynsymSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .dynsym size in KB:\t$overallDynsymSizeDecKB");
|
|
$overallDynstrSizeDecKB=$overallDynstrSizeDec/1024;
|
|
$overallDynstrSizeDecKB=sprintf("%.2f", $overallDynstrSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .dynstr size in KB:\t$overallDynstrSizeDecKB");
|
|
|
|
|
|
$overallGcc_except_tableSizeDecKB=$overallGcc_except_tableSizeDec/1024;
|
|
$overallGcc_except_tableSizeDecKB=sprintf("%.2f", $overallGcc_except_tableSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .gcc_except_table size in KB:\t$overallGcc_except_tableSizeDecKB");
|
|
$overallCtorsSizeDecKB=$overallCtorsSizeDec/1024;
|
|
$overallCtorsSizeDecKB=sprintf("%.2f", $overallCtorsSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .ctors size in KB:\t$overallCtorsSizeDecKB");
|
|
$overallDtorsSizeDecKB=$overallDtorsSizeDec/1024;
|
|
$overallDtorsSizeDecKB=sprintf("%.2f", $overallDtorsSizeDecKB);
|
|
print OUTRPTFILE ("\nThe total .dtors size in KB:\t$overallDtorsSizeDecKB");
|
|
$sdatacmpKB=$sdatacmp/1024;
|
|
$sdatacmpKB=sprintf("%.2f", $sdatacmpKB);
|
|
print OUTRPTFILE ("\nThe total .sdata size in KB:\t$sdatacmpKB");
|
|
$sbsscmpKB=$sbsscmp/1024;
|
|
$sbsscmpKB=sprintf("%.2f", $sbsscmpKB);
|
|
print OUTRPTFILE ("\nThe total .sbss size in KB:\t$sbsscmpKB");
|
|
$bsscmpKB=$bsscmp/1024;
|
|
$bsscmpKB=sprintf("%.2f", $bsscmpKB);
|
|
print OUTRPTFILE ("\nThe total .bss size in KB:\t$bsscmpKB");
|
|
#if(($targetName eq "8x10") || ($targetName eq "8610"))
|
|
#{
|
|
$qsr_stringdec = 0;
|
|
$qsr_stringdecKB = 0;
|
|
if($PDName eq "CommonPD")
|
|
{
|
|
if (open(SECFILE,"section_info.txt")){
|
|
$sectionline=<SECFILE>;
|
|
while ( $sectionline ne "" ) {
|
|
if(($sectionline =~ /\d+\s+\.(\w+)\s+(\w+)\s+/) || ($sectionline =~ /\d+\s+(\w+)\s+(\w+)\s+(\w+)/))
|
|
{
|
|
$section_name=$1;
|
|
$size_section=$2;
|
|
$end_section_addr=$3;
|
|
|
|
#print"\n$section_name\n";
|
|
if($section_name eq "QSR_STRING")
|
|
{
|
|
$Sectrion_end_address=$end_section_addr;
|
|
#print"\n$section_name\n";
|
|
#print"\n$Sectrion_end_address\n";
|
|
$Sectrion_end_address=hex($Sectrion_end_address);
|
|
$size_section=hex($size_section);
|
|
$qsr_stringdec=$size_section;
|
|
$bssEndAddrDec=$Sectrion_end_address+$size_section;
|
|
$qsr_stringdecKB=$qsr_stringdec/1024;
|
|
$qsr_stringdecKB=sprintf("%.2f", $qsr_stringdecKB);
|
|
}
|
|
}
|
|
$sectionline=<SECFILE>;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
die"Out\: Not able to open Sectio\_Info\.txt file";
|
|
}
|
|
#}
|
|
print OUTRPTFILE ("\nThe total QSR_STRING size in KB:\t$qsr_stringdecKB");
|
|
}
|
|
$OverallImageSize1=$textcmp+$rodatacmp+$datacmp+$sdatacmp+$sbsscmp+$bsscmp+$overallStartSizeDec+$overallInitSizeDec+$overallFiniSizeDec+$overallEh_frameSizeDec+$overallGcc_except_tableSizeDec+$overallCtorsSizeDec+$overallDtorsSizeDec+$overalldevcfg_dataSizeDec+$overallqurt_context_tcmSizeDec+$overalla8974_devcfg_dataSizeDec+$overalla8626_devcfg_dataSizeDec+$overalla9625_devcfg_dataSizeDec+$overalla8610_devcfg_dataSizeDec+$overalla8092_devcfg_dataSizeDec+$overalla8094_devcfg_dataSizeDec+$overallDynstrSizeDec+$overallDynsymSizeDec+$overallHashSizeDec+$overallDynamicSizeDec+$overallInterpSizeDec+$overallGotSizeDec+$qsr_stringdec;
|
|
$OverallImageSize=$OverallImageSize1/1024;
|
|
$OverallImageSize=$OverallImageSize/1024;
|
|
$OverallImageSize=sprintf("%.2f", $OverallImageSize);
|
|
|
|
$sizeIncludeExtAlign=$bssEndAddrDec-$startStartAddrDec;
|
|
#print"\n$bssEndAddrDec\n";
|
|
#print"\n$startStartAddrDec\n";
|
|
$sizeIncludeExtAlignKB=$sizeIncludeExtAlign/1024;
|
|
$sizeIncludeExtAlignKB=sprintf("%.2f", $sizeIncludeExtAlignKB);
|
|
$extHoleBtwSections=abs($sizeIncludeExtAlign-$OverallImageSize1);
|
|
$extHoleBtwSections=$extHoleBtwSections/1024;
|
|
$extHoleBtwSections=sprintf("%.2f", $extHoleBtwSections);
|
|
print OUTRPTFILE ("\nHole size due to Align btw the sections in KB:\t$extHoleBtwSections\n");
|
|
print OUTRPTFILE ("\nThe Overall Image size is in KB:\t$sizeIncludeExtAlignKB\n");
|
|
###############################################################################################################################################
|
|
#Function: dectohex
|
|
###############################################################################################################################################
|
|
#Description: This funtion is used to convert the decimal number to hex.
|
|
#Inputs: decnum: decimal number.
|
|
#Outputs: hexnum: hexadecimal.
|
|
################################################################################################################################################
|
|
sub dectohex {
|
|
my $decnum = $_[0];
|
|
my $hexnum;
|
|
my $tempval;
|
|
while ($decnum != 0) {
|
|
$tempval = $decnum % 16;
|
|
if ($tempval > 9)
|
|
{
|
|
$tempval = chr($tempval + 55);
|
|
}
|
|
$hexnum = $tempval . $hexnum ;
|
|
$decnum = int($decnum / 16);
|
|
if ($decnum < 16)
|
|
{
|
|
if ($decnum > 9)
|
|
{
|
|
$decnum = chr($decnum + 55);
|
|
}
|
|
$hexnum = $decnum . $hexnum;
|
|
$decnum = 0
|
|
}
|
|
}
|
|
return $hexnum;
|
|
}
|