[roll] Roll fuchsia [starnix/usercopy] Introduce ASM `hermetic_copy`

Currently, we build `hermetic_copy` from C++ source, but the hermetic
copy error path assumes certain behaviour of the `hermetic_copy`
implementation (see `hermetic_copy_error`. Compiling from C++ source
is brittle because the generated assembly may change across toolchain
updates. In fact, we have observed breakages several times.

Now that the `hermetic_copy` is stable and we are not iterating on it
anymore, provide an assembly variant of it that we can build from so
that future toolchain updates do not break the build and, most
importantly, we can explicitly provide the hermetic copy error path
the guarantees/behaviours it expects.

Note that we keep the `hermetic_copy` C++ source in tree as a reference.
A later change will remove its `hermetic_code_blob` target from the
regular build graph and likely move it to a test-only build target.

Original-Bug: b/338636637
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1045754
Original-Revision: e3cb64557cfe782744b9170665eb3c2fedbe837f
GitOrigin-RevId: 5eba1779b0672fb4a7f79d1e089d766b7d9372ef
Change-Id: Ie8170501a40b28e48409b83dabe1234e4e8b2e6d
1 file changed
tree: 58454df5213324cbd2e26f29e6b5c87d2242f371
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. 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.