Skip to content

Not all built assemblies have deterministic source paths #99594

@tmds

Description

@tmds

When building with deterministic source paths, the path stored for the pdb in the dll is supposed to be mapped. As observed in dotnet/source-build#4011, this is the case for some runtime assemblies, but not for all.

Reproducer:

To build with deterministic source paths, ContinuousIntegrationBuild must be set to true.

./build.sh /p:ContinuousIntegrationBuild=true -c Release --subset lib

Looking at the built output assemblies, it seems that the pre-trimmed assemblies have the correct path.

For example:

$ strings ./artifacts/obj/System.Linq/Release/net9.0/PreTrim/System.Linq.dll | grep pdb
/_/artifacts/obj/System.Linq/Release/net9.0/System.Linq.pdb

vs

$ strings ./artifacts/obj/System.Linq/Release/net9.0/System.Linq.dll | grep pdb
/home/tmds/repos/runtime/artifacts/obj/System.Linq/Release/net9.0/System.Linq.pdb

cc @MichaelSimons @mthalman @ViktorHofer @omajid

Metadata

Metadata

Assignees

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzersin-prThere is an active PR which will close this issue when it is merged

Type

No type

Projects

Status

High Priority

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions