commit | 2e6c4a427e63a813bf059892cb6c7c4cc24113b9 | [log] [tgz] |
---|---|---|
author | Roland McGrath <mcgrathr@fuchsia.infra.roller.google.com> | Tue Feb 25 22:25:41 2025 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Feb 25 22:28:10 2025 -0800 |
tree | 05b4e59f4310b515bcdb1a3d9802bfe7266b4c67 | |
parent | 651923f82ad981c733f1c5387651bd284153358f [diff] |
[roll] Roll fuchsia [ld] Let PT_INTERP string determine fuchsia.ldsvc.Loader/Config message This makes the startup dynamic linker look at the executable's PT_INTERP string (which presumably was used to find the dynamic linker's own binary now running). If it is the canonical string expected, but has a `.../` prefix, then `...` is taken as the string to send in the Config() FIDL message to the loader service that directs it to look in alternate places for DT_NEEDED files. This also cleans up all the packaging and test logic related to libprefix in accordance with this scheme. The startup dynamic linker is packaged using the libprefix of dependent executables without regard to the variant where ld-startup itself was built. The test packaging now uses the libprefix under the per-test lib/ subdirectories so they more closely resemble libprefix use in normal Fuchsia packages. The test fixture logic now looks up the PT_INTERP in each test_executable() to drive its expectations about Config() messages as well as where to find the files to prime the mock for expected LoadObject() requests. In the special cases where there is no matching PT_INTERP to use, the tests use the TestElfLoadSet machinery to find libprefix records stored at build time. The ld-stub packaging is made canonical and never uses libprefix, as it's really just data not accessed via the loader service. Instead, it goes into lib/ but with a name that represents the ELF layout and machine so that one remote dynamic linker package can serve disparate ld::RemoteDynamicLinker instantiations. Original-Fixed: 42084623 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1211524 Original-Revision: c3a8d0b1b1d23f181ba51ef1a41aef6877cb0cbf GitOrigin-RevId: 106ce8162244136b92e058cd5159dc18d28e82c5 Change-Id: Ia37e12fca34ee5881b42246fa1c7c857a94649af
This repository contains Fuchsia's Global Integration manifest files.
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 in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party
.