Add a shim for setenv on PS4 since it does not exist.
authorDouglas Yung <douglas.yung@sony.com>
Tue, 12 Nov 2019 23:05:45 +0000 (15:05 -0800)
committerDouglas Yung <douglas.yung@sony.com>
Tue, 12 Nov 2019 23:05:45 +0000 (15:05 -0800)
A few years back a similar change was made for getenv since neither function is supported on the PS4 platform.

Recently, commit d889d1e added a call to setenv in compiler-rt which was causing linking errors because the symbol was not found. This fixes that issue by putting in a shim similar to how we previously dealt with the lack of getenv.

Differential Revision: https://reviews.llvm.org/D70033

compiler-rt/lib/profile/InstrProfilingUtil.h

index efba94c..f0e29a8 100644 (file)
@@ -30,9 +30,11 @@ int lprofUnlockFileHandle(FILE *F);
  * lock for exclusive access. The caller will block
  * if the lock is already held by another process. */
 FILE *lprofOpenFileEx(const char *Filename);
-/* PS4 doesn't have getenv. Define a shim. */
+/* PS4 doesn't have setenv/getenv. Define a shim. */
 #if __ORBIS__
 static inline char *getenv(const char *name) { return NULL; }
+static inline int setenv(const char *name, const char *value, int overwrite)
+{ return 0; }
 #endif /* #if __ORBIS__ */
 
 /* GCOV_PREFIX and GCOV_PREFIX_STRIP support */