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>
3 files changed
tree: 45c3c0fef26727d89ce917e24d92734ae3e076cc
  1. .allstar/
  2. .github/
  3. .vscode/
  4. build_overrides/
  5. docker/
  6. docs/
  7. kudzu/
  8. pw_alignment/
  9. pw_allocator/
  10. pw_analog/
  11. pw_android_toolchain/
  12. pw_arduino_build/
  13. pw_assert/
  14. pw_assert_basic/
  15. pw_assert_log/
  16. pw_assert_tokenized/
  17. pw_assert_zephyr/
  18. pw_async/
  19. pw_async2/
  20. pw_async2_basic/
  21. pw_async2_epoll/
  22. pw_async_basic/
  23. pw_base64/
  24. pw_bloat/
  25. pw_blob_store/
  26. pw_bluetooth/
  27. pw_bluetooth_hci/
  28. pw_bluetooth_profiles/
  29. pw_bluetooth_proxy/
  30. pw_bluetooth_sapphire/
  31. pw_boot/
  32. pw_boot_cortex_m/
  33. pw_build/
  34. pw_build_android/
  35. pw_build_info/
  36. pw_build_mcuxpresso/
  37. pw_bytes/
  38. pw_channel/
  39. pw_checksum/
  40. pw_chre/
  41. pw_chrono/
  42. pw_chrono_embos/
  43. pw_chrono_freertos/
  44. pw_chrono_rp2040/
  45. pw_chrono_stl/
  46. pw_chrono_threadx/
  47. pw_chrono_zephyr/
  48. pw_cli/
  49. pw_compilation_testing/
  50. pw_config_loader/
  51. pw_console/
  52. pw_containers/
  53. pw_cpu_exception/
  54. pw_cpu_exception_cortex_m/
  55. pw_cpu_exception_risc_v/
  56. pw_crypto/
  57. pw_digital_io/
  58. pw_digital_io_linux/
  59. pw_digital_io_mcuxpresso/
  60. pw_digital_io_rp2040/
  61. pw_dma_mcuxpresso/
  62. pw_docgen/
  63. pw_doctor/
  64. pw_emu/
  65. pw_env_setup/
  66. pw_env_setup_zephyr/
  67. pw_file/
  68. pw_format/
  69. pw_function/
  70. pw_fuzzer/
  71. pw_grpc/
  72. pw_hdlc/
  73. pw_hex_dump/
  74. pw_i2c/
  75. pw_i2c_linux/
  76. pw_i2c_mcuxpresso/
  77. pw_i2c_rp2040/
  78. pw_ide/
  79. pw_interrupt/
  80. pw_interrupt_cortex_m/
  81. pw_interrupt_xtensa/
  82. pw_interrupt_zephyr/
  83. pw_intrusive_ptr/
  84. pw_json/
  85. pw_kvs/
  86. pw_libc/
  87. pw_libcxx/
  88. pw_log/
  89. pw_log_android/
  90. pw_log_basic/
  91. pw_log_null/
  92. pw_log_rpc/
  93. pw_log_string/
  94. pw_log_tokenized/
  95. pw_log_zephyr/
  96. pw_malloc/
  97. pw_malloc_freelist/
  98. pw_malloc_freertos/
  99. pw_metric/
  100. pw_minimal_cpp_stdlib/
  101. pw_module/
  102. pw_multibuf/
  103. pw_multisink/
  104. pw_package/
  105. pw_perf_test/
  106. pw_persistent_ram/
  107. pw_polyfill/
  108. pw_preprocessor/
  109. pw_presubmit/
  110. pw_protobuf/
  111. pw_protobuf_compiler/
  112. pw_random/
  113. pw_result/
  114. pw_ring_buffer/
  115. pw_router/
  116. pw_rpc/
  117. pw_rpc_transport/
  118. pw_rust/
  119. pw_sensor/
  120. pw_snapshot/
  121. pw_software_update/
  122. pw_span/
  123. pw_spi/
  124. pw_spi_linux/
  125. pw_spi_mcuxpresso/
  126. pw_spi_rp2040/
  127. pw_status/
  128. pw_stm32cube_build/
  129. pw_stream/
  130. pw_stream_shmem_mcuxpresso/
  131. pw_stream_uart_linux/
  132. pw_stream_uart_mcuxpresso/
  133. pw_string/
  134. pw_symbolizer/
  135. pw_sync/
  136. pw_sync_baremetal/
  137. pw_sync_embos/
  138. pw_sync_freertos/
  139. pw_sync_stl/
  140. pw_sync_threadx/
  141. pw_sync_zephyr/
  142. pw_sys_io/
  143. pw_sys_io_ambiq_sdk/
  144. pw_sys_io_arduino/
  145. pw_sys_io_baremetal_lm3s6965evb/
  146. pw_sys_io_baremetal_stm32f429/
  147. pw_sys_io_emcraft_sf2/
  148. pw_sys_io_mcuxpresso/
  149. pw_sys_io_rp2040/
  150. pw_sys_io_stdio/
  151. pw_sys_io_stm32cube/
  152. pw_sys_io_zephyr/
  153. pw_system/
  154. pw_target_runner/
  155. pw_thread/
  156. pw_thread_embos/
  157. pw_thread_freertos/
  158. pw_thread_stl/
  159. pw_thread_threadx/
  160. pw_thread_zephyr/
  161. pw_tls_client/
  162. pw_tls_client_boringssl/
  163. pw_tls_client_mbedtls/
  164. pw_tokenizer/
  165. pw_toolchain/
  166. pw_toolchain_bazel/
  167. pw_trace/
  168. pw_trace_tokenized/
  169. pw_transfer/
  170. pw_uart/
  171. pw_unit_test/
  172. pw_unit_test_zephyr/
  173. pw_varint/
  174. pw_watch/
  175. pw_web/
  176. pw_work_queue/
  177. seed/
  178. targets/
  179. third_party/
  180. ts/
  181. zephyr/
  182. .bazelignore
  183. .bazelrc
  184. .bazelversion
  185. .black.toml
  186. .clang-format
  187. .clang-tidy
  188. .eslintrc.cjs
  189. .git-blame-ignore-revs
  190. .gitattributes
  191. .gitignore
  192. .gn
  193. .mypy.ini
  194. .prettierignore
  195. .prettierrc.cjs
  196. .pw_ide.yaml
  197. .pylintrc
  198. activate.bat
  199. Android.bp
  200. AUTHORS
  201. bootstrap.bat
  202. bootstrap.sh
  203. BUILD.bazel
  204. BUILD.gn
  205. BUILDCONFIG.gn
  206. CMakeLists.txt
  207. jest.config.ts
  208. Kconfig.zephyr
  209. LICENSE
  210. modules.gni
  211. OWNERS
  212. package-lock.json
  213. package.json
  214. pigweed.json
  215. PIGWEED_MODULES
  216. README.md
  217. rollup.config.js
  218. tsconfig.json
  219. WORKSPACE
  220. WORKSPACE_OWNERS
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links