[roll] Roll fuchsia [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.

Original-Bug: 119533
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/799622
Original-Revision: 2127d5374e60c9f9d064fb567d3759116de1c4dc
GitOrigin-RevId: 982d2bf71fa44c8f5688520e2e9283d38d831522
Change-Id: Id4d1588d55733d2383150d89a19862cc50ffa9b6
1 file changed
tree: e531f93667de1b965e90207711adc80c9cd3eedf
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
  13. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.