[PATCH] D70033: Add a shim for setenv on PS4 since it does not exist on PS4

Douglas Yung via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 8 15:56:18 PST 2019


dyung created this revision.
dyung added a reviewer: probinson.
dyung added projects: LLVM, Sanitizers.

A few years back a similar change was made for getenv since neither function is supported on the PS4 platform.

Recently, commit d889d1e <https://reviews.llvm.org/rGd889d1efefe9f97507e3eafa85a2e3939df9750f> 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.


https://reviews.llvm.org/D70033

Files:
  compiler-rt/lib/profile/InstrProfilingUtil.h


Index: compiler-rt/lib/profile/InstrProfilingUtil.h
===================================================================
--- compiler-rt/lib/profile/InstrProfilingUtil.h
+++ compiler-rt/lib/profile/InstrProfilingUtil.h
@@ -30,9 +30,11 @@
  * 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 */


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70033.228535.patch
Type: text/x-patch
Size: 742 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191108/911cbccf/attachment.bin>


More information about the llvm-commits mailing list