Skip to content

Tags: google/zerocopy

Tags

gherrit/Gzq7escrh5c2qcrgidomnfaxbsi6xn7yu/v41

Toggle gherrit/Gzq7escrh5c2qcrgidomnfaxbsi6xn7yu/v41's commit message
[anneal][v2] Add DiagnosticMapper to map compiler errors back to Rust…

… source code

TAG=agy

gherrit-pr-id: Gzq7escrh5c2qcrgidomnfaxbsi6xn7yu

gherrit/Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3/v42

Toggle gherrit/Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3/v42's commit message
[anneal][v2] Implement out-of-tree dependency chasing for expand command

Notes about largely unreviewed generated change:

- Last test assertion looks dubious. Should probably switch all LLBC
  test verifications to something that properly parses the LLBC and
  makes more precise assertions.

- Integration and structure requires more thought. It seems that only
  the scanner "knows" about this behaviour; is it being being plumbed
  through cmdline args and through run_charon?

- New test (and probably other tests) should have their setup procedures
  overhauled/simplified. In general, I would expect the test to create
  a fixture, and then be able to pass largely static data to
  `run_charon()`, but right now it's manually setting up locked roots,
  etc., etc.

gherrit-pr-id: Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3

gherrit/Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3/v41

Toggle gherrit/Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3/v41's commit message
[anneal][v2] Implement out-of-tree dependency chasing for expand command

Notes about largely unreviewed generated change:

- Last test assertion looks dubious. Should probably switch all LLBC
  test verifications to something that properly parses the LLBC and
  makes more precise assertions.

- Integration and structure requires more thought. It seems that only
  the scanner "knows" about this behaviour; is it being being plumbed
  through cmdline args and through run_charon?

- New test (and probably other tests) should have their setup procedures
  overhauled/simplified. In general, I would expect the test to create
  a fixture, and then be able to pass largely static data to
  `run_charon()`, but right now it's manually setting up locked roots,
  etc., etc.

gherrit-pr-id: Gxsjyiksx4pd6h5gzup7ensn4qtrxu6s3

gherrit/Gnafivbpqcaatsvsxamgsjcudchscvaae/v42

Toggle gherrit/Gnafivbpqcaatsvsxamgsjcudchscvaae/v42's commit message
[anneal][v2] Add charon execution engine, expand command CLI, and int…

…egration tests

gherrit-pr-id: Gnafivbpqcaatsvsxamgsjcudchscvaae

gherrit/Gnafivbpqcaatsvsxamgsjcudchscvaae/v41

Toggle gherrit/Gnafivbpqcaatsvsxamgsjcudchscvaae/v41's commit message
[anneal][v2] Add charon execution engine, expand command CLI, and int…

…egration tests

gherrit-pr-id: Gnafivbpqcaatsvsxamgsjcudchscvaae

gherrit/Gjnh4bziqtksdvg43zzll4732lxlcuss3/v42

Toggle gherrit/Gjnh4bziqtksdvg43zzll4732lxlcuss3/v42's commit message
[anneal][v2] Add Cargo workspace resolution and target resolution logic

TAG=agy

Resolve Cargo requests into explicit package, target, and target-kind artifacts instead of preserving only user-facing Cargo flags for later Charon invocation. This keeps downstream stages from relying on Cargo output conventions whose shape depends on flags and workspace configuration.

A future single `charon cargo` invocation strategy would need to account for these hazards:

- one `--dest-file` is unsafe when Cargo selects multiple primary units, since multiple Charon driver invocations can race on that path;
- Charon directory output is named by Rust crate name, so workspace packages can collide when they share `[lib] name`;
- target selectors such as `--tests`, `--bins`, and default selection can produce extra or multiple artifacts;
- Charon options such as `--start-from` and `--opaque` are invocation-wide and would be applied to every selected target;
- lib+bin package builds may compile a sibling library under `RUSTC_WRAPPER`, which can fail if that library is translated instead of producing the rlib the bin needs.

gherrit-pr-id: Gjnh4bziqtksdvg43zzll4732lxlcuss3

gherrit/Gjnh4bziqtksdvg43zzll4732lxlcuss3/v41

Toggle gherrit/Gjnh4bziqtksdvg43zzll4732lxlcuss3/v41's commit message
[anneal][v2] Add Cargo workspace resolution and target resolution logic

TAG=agy

Resolve Cargo requests into explicit package, target, and target-kind artifacts instead of preserving only user-facing Cargo flags for later Charon invocation. This keeps downstream stages from relying on Cargo output conventions whose shape depends on flags and workspace configuration.

A future single `charon cargo` invocation strategy would need to account for these hazards:

- one `--dest-file` is unsafe when Cargo selects multiple primary units, since multiple Charon driver invocations can race on that path;
- Charon directory output is named by Rust crate name, so workspace packages can collide when they share `[lib] name`;
- target selectors such as `--tests`, `--bins`, and default selection can produce extra or multiple artifacts;
- Charon options such as `--start-from` and `--opaque` are invocation-wide and would be applied to every selected target;
- lib+bin package builds may compile a sibling library under `RUSTC_WRAPPER`, which can fail if that library is translated instead of producing the rlib the bin needs.

gherrit-pr-id: Gjnh4bziqtksdvg43zzll4732lxlcuss3

gherrit/Gbbpbt76nsgp2ohpclea46vot5joxx7b5/v42

Toggle gherrit/Gbbpbt76nsgp2ohpclea46vot5joxx7b5/v42's commit message
[anneal][v2] Add exocrate toolchain setup and Toolchain resolver

TAG=agy

gherrit-pr-id: Gbbpbt76nsgp2ohpclea46vot5joxx7b5

gherrit/Gbbpbt76nsgp2ohpclea46vot5joxx7b5/v41

Toggle gherrit/Gbbpbt76nsgp2ohpclea46vot5joxx7b5/v41's commit message
[anneal][v2] Add exocrate toolchain setup and Toolchain resolver

TAG=agy

gherrit-pr-id: Gbbpbt76nsgp2ohpclea46vot5joxx7b5

gherrit/G3ub4smvhm3rbp6d53jhwn3knjeaw7ugn/v37

Toggle gherrit/G3ub4smvhm3rbp6d53jhwn3knjeaw7ugn/v37's commit message
[anneal][v2] Add pinned charon_lib dependency

gherrit-pr-id: G3ub4smvhm3rbp6d53jhwn3knjeaw7ugn