summaryrefslogtreecommitdiff
path: root/software/get_discards
diff options
context:
space:
mode:
Diffstat (limited to 'software/get_discards')
-rwxr-xr-xsoftware/get_discards51
1 files changed, 51 insertions, 0 deletions
diff --git a/software/get_discards b/software/get_discards
new file mode 100755
index 0000000..5436118
--- /dev/null
+++ b/software/get_discards
@@ -0,0 +1,51 @@
+#!/usr/bin/php
+
+<?php
+/*
+ * Written by Jared Smith and Kevin P. Fleming
+ *
+ * Copyright (C) 2006, Jared Smith and Digium, Inc.
+ *
+ */
+
+# create an array of all the different prefixes you want to match on,
+# as Perl-compatible regular expressions
+# (yes, this is a stupid example, as the second one is just a simplified
+# version of the first, but it's just an example)
+$prefixes = array('\.text\.Oct');
+
+$fp = fopen('test.map','r');
+
+while (!feof($fp))
+{
+ # Loop until we find the top of section we want
+ while ($line = fgets($fp))
+ {
+ if (preg_match('/Discarded input sections/i',$line))
+ {
+ break;
+ }
+ }
+
+ # Now loop until we find the next section
+ while ($line = fgets($fp))
+ {
+ if (preg_match('/Memory Configuration/i',$line))
+ {
+ # we found it!
+ break;
+ }
+ foreach ($prefixes as $prefix)
+ {
+ if (preg_match("/$prefix/i",$line))
+ {
+ preg_match("/Oct.*/", $line, $matches);
+ $line2 = fgets($fp);
+ echo "#define SKIP_".$matches[0]." 1\n";
+ break;
+ }
+ }
+ }
+}
+fclose($fp);
+?>