Description
Right now, we only support loading the standalone GC through the DOTNET_GCName
config. By default, it will load the standalone GC assuming the config specified the name of the file, and then it will load it from the directory hosting coreclr.dll
.
That location is often inaccessible (e.g. it is under C:\Program Files
for windows) for the person who need to patch it.
In this issue, I propose the following:
We supporting loading from these locations if DOTNET_GCName
is specified:
1.) The user's app-base (i.e. where they put their managed DLLs), this is the most intuitive place to load the file from. Most customers should have no problem updating that location because that is where they write their app to.
2.) The shared SDK dir (this is where we ship our binaries to), that make it easy for customer to try segments to isolate regions bug (or vice versa on OSX)
Or if someone specified a DOTNET_GCPath
, a new config, then just treat that as an absolute path and load it from wherever they specified. Put some warnings on the doc to remind users to make sure the location is secured (*).
(*) Right now, we could specify a relative path in
DOTNET_GCName
to load from whatever location, they change doesn't make anything less secure.