Reland "[fxfs] Enable LTO"

This reverts commit b5f18dafe4c8f12bb44c41f7c99cc9def7c9a405.

Reason for revert: Revealed flakes have been fixed

Original change's description:
> Revert "[fxfs] Enable LTO"
>
> This reverts commit 2127d5374e60c9f9d064fb567d3759116de1c4dc.
>
> Reason for revert: Possible cause of fxbug.dev/121751
>
> Original change's description:
> > [fxfs] Enable LTO
> >
> > Re-land of fxrev.dev/791112 with a slightly different approach, which is
> > used by ffx and should work.
> >
> > This gains back the performance which was lost when splitting Fxfs into
> > several crates.  See, for example, WalkDirectoryTreeWarm.
> >
> > The cost is a ~45% slowdown in compilation time for fxfs (19s -> 33s on
> > my machine).  If this ends up being problematic for productivity, we
> > could further split up Fxfs into a binary variant used for tests (which
> > won't have LTO) and another used for benchmarks and production (which
> > would have LTO), but that doesn't seem necessary given the build time is
> > still reasonable.
> >
> > Note that LTO is not applied to the unit-test suite, so building the
> > unit-test suite won't be made slower.
> >
> > Bug: 119533
> > Change-Id: I90c7e7d10b06b38d71c32125884838586b1b1ca6
> > Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/799622
> > Reviewed-by: Chris Drouillard <cdrllrd@google.com>
> > Commit-Queue: James Sullivan <jfsulliv@google.com>
>
> Bug: 119533
> Change-Id: I2d58acc76509e6c9de368c21b37b3bb2c4514546
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/801236
> Commit-Queue: James Sullivan <jfsulliv@google.com>
> Reviewed-by: RubberStamper 🤖 <android-build-ayeaye@system.gserviceaccount.com>

Bug: 119533
Change-Id: I1dddd4b452c8eb5cef70c0343f588aa3e0df359b
Multiply: fxfs-link-tests
Multiply: fxfs-attr-tests
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/802929
Reviewed-by: Chris Drouillard <cdrllrd@google.com>
Commit-Queue: James Sullivan <jfsulliv@google.com>
Reviewed-by: RubberStamper 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: 3e9112ba1759d1655e759adac47521af6850cf79
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
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.