Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use stable outputs in illink targets #64160

Merged
merged 12 commits into from
Jan 31, 2022
Merged

Use stable outputs in illink targets #64160

merged 12 commits into from
Jan 31, 2022

Conversation

ViktorHofer
Copy link
Member

While building locally multiple times, I noticed that the incremental build of the illink-targets are now to aggressive and could cause the targets to either never run or too often. This could be the case when the linker doesn't trim anything and copies the inputs to the outputs directory with preserving the timestamps. In such cases the inputs would always be newer than the outputs and the step would alway run. Also the path that was used to construct the outputs was missing a trailing directory separator. Using a marker file instead to not be dependent on the freshness of the linker output.

While building locally multiple times, I noticed that the incremental build of the illink-targets are now to aggressive and could cause the targets to either never run or too often. This could be the case when the linker doesn't trim anything and copies the inputs to the outputs directory with preserving the timestamps. In such cases the inputs would always be newer than the outputs and the step would alway run. Also the path that was used to construct the outputs was missing a trailing directory separator. Using a marker file instead to not be dependent on the freshness of the linker output.
@ViktorHofer ViktorHofer self-assigned this Jan 23, 2022
@ghost ghost added the linkable-framework Issues associated with delivering a linker friendly framework label Jan 23, 2022
@ghost
Copy link

ghost commented Jan 23, 2022

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

While building locally multiple times, I noticed that the incremental build of the illink-targets are now to aggressive and could cause the targets to either never run or too often. This could be the case when the linker doesn't trim anything and copies the inputs to the outputs directory with preserving the timestamps. In such cases the inputs would always be newer than the outputs and the step would alway run. Also the path that was used to construct the outputs was missing a trailing directory separator. Using a marker file instead to not be dependent on the freshness of the linker output.

Author: ViktorHofer
Assignees: ViktorHofer
Labels:

area-Infrastructure-libraries

Milestone: -

@ViktorHofer
Copy link
Member Author

@safern @ericstj thanks for reviewing the other PRs. Can you please take a look at this one as well?

src/libraries/illink-oob.targets Outdated Show resolved Hide resolved
src/libraries/illink-oob.targets Show resolved Hide resolved
@ViktorHofer
Copy link
Member Author

I addressed the feedback, please review. Thanks

@ViktorHofer
Copy link
Member Author

@ericstj @safern can you please review and approve?

I also have another few changes waiting for feedback that I would really love to get in:

As soon as those are in, I can finish implementing #64000 and with that probably again spend less time contributing to dotnet/runtime until April ;)

@ViktorHofer ViktorHofer merged commit 9821c6d into main Jan 31, 2022
@ViktorHofer ViktorHofer deleted the ViktorHofer-patch-1 branch January 31, 2022 20:16
@ghost ghost locked as resolved and limited conversation to collaborators Mar 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-libraries linkable-framework Issues associated with delivering a linker friendly framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants