[Libreoffice-commits] core.git: bin/ios-mapfile-statistics

Tor Lillqvist tml at collabora.com
Tue Apr 22 08:34:53 PDT 2014


 bin/ios-mapfile-statistics |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

New commits:
commit 613699ebaf97e77c77e7bf2e90100be56299b550
Author: Tor Lillqvist <tml at collabora.com>
Date:   Tue Apr 22 18:24:56 2014 +0300

    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

diff --git a/bin/ios-mapfile-statistics b/bin/ios-mapfile-statistics
new file mode 100755
index 0000000..0ae2753
--- /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";
+}


More information about the Libreoffice-commits mailing list