summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/profile/InstrProfilingFile.c11
-rw-r--r--compiler-rt/lib/profile/InstrProfilingPort.h1
2 files changed, 8 insertions, 4 deletions
diff --git a/compiler-rt/lib/profile/InstrProfilingFile.c b/compiler-rt/lib/profile/InstrProfilingFile.c
index e2253de8eda..d722b86f7c4 100644
--- a/compiler-rt/lib/profile/InstrProfilingFile.c
+++ b/compiler-rt/lib/profile/InstrProfilingFile.c
@@ -337,6 +337,8 @@ static int writeOrderFile(const char *OutputName) {
return RetVal;
}
+#define LPROF_INIT_ONCE_ENV "__LLVM_PROFILE_RT_INIT_ONCE"
+
static void truncateCurrentFile(void) {
const char *Filename;
char *FilenameBuf;
@@ -357,11 +359,14 @@ static void truncateCurrentFile(void) {
/* Only create the profile directory and truncate an existing profile once.
* In continuous mode, this is necessary, as the profile is written-to by the
* runtime initializer. */
- const char *lprofInitOnceEnv = "__LLVM_PROFILE_RT_INIT_ONCE";
- int initialized = getenv(lprofInitOnceEnv) != NULL;
+ int initialized = getenv(LPROF_INIT_ONCE_ENV) != NULL;
if (initialized)
return;
- setenv(lprofInitOnceEnv, lprofInitOnceEnv, 1);
+#if defined(_WIN32)
+ _putenv(LPROF_INIT_ONCE_ENV "=" LPROF_INIT_ONCE_ENV);
+#else
+ setenv(LPROF_INIT_ONCE_ENV, LPROF_INIT_ONCE_ENV, 1);
+#endif
createProfileDir(Filename);
diff --git a/compiler-rt/lib/profile/InstrProfilingPort.h b/compiler-rt/lib/profile/InstrProfilingPort.h
index ceafdb9783f..9462cf1a240 100644
--- a/compiler-rt/lib/profile/InstrProfilingPort.h
+++ b/compiler-rt/lib/profile/InstrProfilingPort.h
@@ -105,7 +105,6 @@ static inline size_t getpagesize() {
GetNativeSystemInfo(&S);
return S.dwPageSize;
}
-#define setenv _putenv
#else /* defined(_WIN32) */
#include <unistd.h>
#endif /* defined(_WIN32) */
OpenPOWER on IntegriCloud