[bindgen] Control --explicit-padding with a knob

With the linked bug, we are in a case where we are using bindgen to
generate bindings that are indirectly (via bssl-sys) used by third-party
library (openssl). The latter code expected the construction of structs
not to have padding fields to initialize, and so we have a need to
control the generation of explicit padding fields. We default to 'on'
though, as this is generally useful for self-documenting ABI.

Bug: 394116035
Change-Id: Ie1fbded9ccf2718070cdc32dbc8d898f738b4d1b
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1201306
Fuchsia-Auto-Submit: Joshua Seaton <joshuaseaton@google.com>
Reviewed-by: Adam Perry <adamperry@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: bee0ea2da56999aebe18cd9575e3d2f27aa95aef
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.