commit | 08f81693d7bee5ef871229f3c2aaa62e47954f46 | [log] [tgz] |
---|---|---|
author | Anirudh Mathukumilli <rudymathu@fuchsia.infra.roller.google.com> | Mon Dec 09 19:29:47 2024 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Dec 09 11:31:44 2024 -0800 |
tree | 87f3c1c6ae935d3ccf04c1b2cb009dc5e01a5656 | |
parent | c15d7dd4dfeb6e9f65ddd473f91029be4df7c95b [diff] |
[roll] Roll fuchsia Reland "[utest] Use ELF loading in restricted mode tests" This is a reland of commit bbe0664791c55b17ae2ff097c5dd6d27b7ca9210 The original commit was reverted due to a potential flake in the FloatingPointState test. This was caused by a cbnz to a non-local label in the ARM assembly, which failed because we do not have dynamic linking set up in this test. This was a flake instead of a failure because the cbnz is only invoked when an atomic store failed. Original change's description: > [utest] Use ELF loading in restricted mode tests > > Modifies the restricted mode tests to load a separate ELF binary instead > of jumping into code linked into the test binary itself. The actual > contents of the code executed in restricted mode have not changed; > they've simply been moved to their own binary. This will allow us to add > tests for ARM32 machines on ARM64 hosts more easily. > > To make this work, I needed to add some hidden labels in the > restricted-blob assembly code to avoid GOT indirections (which caused > link failures in RISC-V). While the failure was only observed on RISC-V, > it is theoretically possible on other architectures, so I switched to > using the same structure everywhere. > > This change also renames the "vectab" function to "restricted_exit" to > make the purpose of the function more clear and to match other > restricted mode tests. > > Original-Bug: 372499348 > Change-Id: Ie3246f48a7005b6c8b055274dad29272862994c1 > Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1157128 > Reviewed-by: Will Drewry <drewry@google.com> > Commit-Queue: Anirudh Mathukumilli <rudymathu@google.com> > Reviewed-by: Roland McGrath <mcgrathr@google.com> Original-Bug: 372499348 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1164912 Original-Revision: c11bd3ad907443de19044d512d77158c85ab9755 GitOrigin-RevId: 894bb8630d82f81459bb59c5e5fe878d03ff3c60 Change-Id: I0f2d2a2b3a95252f288abd83d8e83a2493e35865
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
.