[roll] Roll fuchsia [ld] RemoteAbiTranscriber and main passive ABI remoting

This completes the bulk of the ABI remoting implementation.  New
enabling functionality is in the RemoteAbiTranscriber template
class.  It handles correct copying semantics for each specific
type, with the goal of copying universal integer types verbatim
while rewriting all pointers.  This includes a limited class
introspection mechanism used to perform member-by-member copying
with correct verbatim or pointer semantics, while converting
between LocalAbiTraits and RemoteAbiTraits layouts of all the
parameterized ABI data structures (ld::abi types and the elfldltl
types they use).

The RemoteAbi class is further fleshed out to fill in the stub
dynamic linker's _ld_abi.loaded_modules list using ld::abi Module
data structures allocated via RemoteAbiHeap (in the stub's data
segment).  This enables the LdRemoteProcessTests versions of the
tests using the passive ABI to succeed.

Original-Bug: 318041873
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/974432
Original-Revision: b346cf425fba91c0355f6940a7674214d90d057a
GitOrigin-RevId: bea89821f59fade5bbfb403b5008fd11a335b943
Change-Id: I9fd965e7c4d5c8c782218559d1067621cd318e03
1 file changed
tree: 8a1280f5a548f42713fde7bdd5e627676a967212
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. 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.