From 613699ebaf97e77c77e7bf2e90100be56299b550 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 22 Apr 2014 18:24:56 +0300 Subject: Script to postprocess linker map files for iOS a bit Show the total size of code and data linked in from each library. Change-Id: Ibd6e0e15259f338addc30f2d821c794d65676637 --- bin/ios-mapfile-statistics | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 bin/ios-mapfile-statistics diff --git a/bin/ios-mapfile-statistics b/bin/ios-mapfile-statistics new file mode 100755 index 000000000000..0ae275385ed2 --- /dev/null +++ b/bin/ios-mapfile-statistics @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w + +use strict; + +my $state = 0; +my %libofnumber; +my %sizeoflib; + +while (<>) { + if ($state == 0 && m!^# Object files:!) { + $state = 1; + } elsif ($state == 1 && m!^\[ *([0-9]+)\] .*/([-_a-z0-9]+\.a)\(.*!i) { + $libofnumber{$1} = $2; + } elsif ($state == 1 && m!^# Sections:!) { + $state = 2; + } elsif ($state == 2 && m!^# Address\s+Size\s+File\s+Name!) { + $state = 3; + } elsif ($state == 3 && m!^0x[0-9A-F]+\s+(0x[0-9A-F]+)\s+\[ *([0-9]+)\] (.*)!) { + if (defined($libofnumber{$2})) { + $sizeoflib{$libofnumber{$2}} += hex($1); + } + } +} + +foreach (sort keys(%sizeoflib)) { + print $_, ": ", $sizeoflib{$_}, "\n"; +} -- cgit