pw_bloat: Add padding to utilization

Used space will increase as multiples of the largest alignment
used in a linker script because padding is added to conform to
the alignment requirements. The new Padding definition should
allow developers to monitor application size change that is
to small to cause realignment.

Test: Included the changes in local project, rebuilt host_gn, and
confirmed Padding was part of the size report generated as part
of local build.
Bug:276370736

Change-Id: Ia9f58f7a6eb4539335d49c4c92979d682bc9278b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/209972
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Emily Tucci <etucci@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
diff --git a/pw_bloat/docs.rst b/pw_bloat/docs.rst
index ddf08be..f391993 100644
--- a/pw_bloat/docs.rst
+++ b/pw_bloat/docs.rst
@@ -342,6 +342,9 @@
 
 The generated ``utilization`` data source will work with any ELF file, where
 ``Used Space`` is reported for the sum of virtual memory size of all sections.
+``Padding`` captures the amount of memory that is utilized to enfore alignment
+requirements. Tracking ``Padding`` size can help monitor application growth
+for changes that are too small to force realignment.
 
 In order for ``Free Space`` to be reported, your linker scripts must include
 properly aligned sections which span the unused remaining space for the relevant
diff --git a/pw_bloat/py/bloaty_config_test.py b/pw_bloat/py/bloaty_config_test.py
index 07c3fe1..0af8e25 100644
--- a/pw_bloat/py/bloaty_config_test.py
+++ b/pw_bloat/py/bloaty_config_test.py
@@ -101,6 +101,10 @@
                 '    replacement:"Free space"',
                 '  }',
                 '  rewrite: {',
+                '    pattern:"^\\\\[LOAD"',
+                '    replacement:"Padding"',
+                '  }',
+                '  rewrite: {',
                 '    pattern:".*"',
                 '    replacement:"Used space"',
                 '  }',
diff --git a/pw_bloat/py/pw_bloat/bloaty_config.py b/pw_bloat/py/pw_bloat/bloaty_config.py
index 1e3ce31..f149095 100644
--- a/pw_bloat/py/pw_bloat/bloaty_config.py
+++ b/pw_bloat/py/pw_bloat/bloaty_config.py
@@ -341,6 +341,10 @@
     output.append('    replacement:"Free space"')
     output.append('  }')
     output.append('  rewrite: {')
+    output.append('    pattern:"^\\\\[LOAD"')
+    output.append('    replacement:"Padding"')
+    output.append('  }')
+    output.append('  rewrite: {')
     output.append('    pattern:".*"')
     output.append('    replacement:"Used space"')
     output.append('  }')