[roll] Roll fuchsia [elfldltl] Fix LoadInfo::ApplyRelro for move-only SegmentWrapper types

The ApplyRelro method implicitly expected all the instantiated
LoadInfo<...>::Segment types to be copyable.  Nothing in LoadInfo
itself prevents them from being copyable, but a SegmentWrapper
may very reasonable add move-only members (the SegmentWithVmo
wrappers do).

This cleans up the templated code to be more judicious with using
std::move everywhere it's needed, and adds tests with a synthetic
move-only SegmentWrapper template class.

Original-Bug: 42084079
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/961934
Original-Revision: 497c764ae4b690175d38032671182888cfee6ccb
GitOrigin-RevId: 83bf1890ed7c1a4dc0aa581554f725a5ade62663
Change-Id: Ic1d887c27ba518eda52d5abd096d39b6f3b02a88
1 file changed
tree: 7db93a4116c782c6bb3024529a86ef550ffe46af
  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.