[roll] Roll fuchsia [phys] Update ElfImage API for clarity (and for a few bugs)

Previously, out-of-process loading was expected to use ElfImage::Load()
followed by ElfImage::SetLoadAddress() giving the actually desired
virtual address. This led to a bug in which Load() assumes that the
final load address is to be where the image ends up in the current
address space: it tells gSymbolize about this, which prints the wrong
load address. Accordingly, we update ElfImage::Load() to optionally take
a load address up front.

Out-of-process loading also needs the address of the memory image in the
current address space, however, which is abstracted away by the current
interface. Previously, the only way to access this would be to call
`LoadAddress()` after `Load()`, but before `SetLoadAddress()` to specify
the address under the new mapping: this is awkward - and also is no
longer feasible with the change described above. Accordingly, we now
provide an accessor for the image in the current address space as well.

Further `elfldltl::LoadInfo load()` has been renamed to `load_info()` to
disambiguate it from `Load()`.

Original-Bug: 91187
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/798902
Original-Revision: 99d4acded6fb73882e51028b2d3e9a887caaa2f2
GitOrigin-RevId: 189abd26f76573faf3bbeb6453e8b8fc879bc759
Change-Id: Ia07dfa7f66ed3830d54b923b1e62895cb3fcf8fa
1 file changed
tree: 62592f105bbd67e2e2d3c09831af15e3c37be5e6
  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.