[fdio] Lift zx_vmo_replace_as_executable out of fdio_get_vmo_*

Today, anything calling any of these methods is getting a VMO that is
marked executable.  Not every caller actually needs an executable VMO;
generally only things that try to launch other programs need this.
The fdio_get_vmo_* calls are documented as returning a read-only,
non-executable VMO; however, as far as I can tell, they have never
actually done so.

To whittle down the overuse of executable VMOs, we can push the "mark
things executable" responsiblity up to various callers.  After some
digging, I believe this changeset covers the universe of launchers and
loaders that need executable VMOs in the Fuchsia tree.

Tests: paved and booted astro successfully
Bug: SEC-252 #comment Lift zx_vmo_replace_as_executable out of fdio_get_vmo_*

Change-Id: Ieb6e0c5c12dff152b1cd57cd736bb25df5989332
16 files changed
tree: b176c3dd705111cf058eaaf651fb909d81c6a5e7
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.