From d81a3685df482e8962bf696e44b9071f19bfac2f Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Fri, 7 Sep 2018 13:08:25 -0700 Subject: Fix the slashes when setting the ZapBBInstrDir (#19858) In OpenMethodProfileDataLogFile, we try to set the directory and path for the .ibc files using windows slashes (\). This causes this code to fail on Linux, which uses forward slashes. This is particularly a problem when setting COMPlus_ZapBBInstrDir, which takes that environment variable and attempts to find the name of the file using wcsrchr(assemblyPath, '\'). This causes a crash on linux when collecting IBC counts. The fix is to ifdef it for linux to use the correct path separator. This change also includes a fix to change the code for checking if IbcTuning is set to use == instead of -eq which was causing a failure in the build that was ignored. --- src/vm/ceeload.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/vm/ceeload.cpp') diff --git a/src/vm/ceeload.cpp b/src/vm/ceeload.cpp index 19c5167005..ffdaea86fe 100644 --- a/src/vm/ceeload.cpp +++ b/src/vm/ceeload.cpp @@ -11336,14 +11336,14 @@ HANDLE Module::OpenMethodProfileDataLogFile(GUID mvid) path.Set(assemblyPath); // no, then put it beside the IL dll } else { - LPCWSTR assemblyFileName = wcsrchr(assemblyPath, '\\'); + LPCWSTR assemblyFileName = wcsrchr(assemblyPath, DIRECTORY_SEPARATOR_CHAR_W); if (assemblyFileName) assemblyFileName++; // skip past the \ char else assemblyFileName = assemblyPath; path.Set(ibcDir); // yes, put it in the directory, named with the assembly name. - path.Append('\\'); + path.Append(DIRECTORY_SEPARATOR_CHAR_W); path.Append(assemblyFileName); } -- cgit v1.2.3