[llvm-commits] [llvm] r52847 - /llvm/trunk/lib/System/Unix/Path.inc

Seo Sanghyeon sanxiyn at gmail.com
Fri Jun 27 15:55:30 PDT 2008


Author: sanxiyn
Date: Fri Jun 27 17:55:30 2008
New Revision: 52847

URL: http://llvm.org/viewvc/llvm-project?rev=52847&view=rev
Log:
Fix GetMainExecutable. Patch by Sam Bishop.

Modified:
    llvm/trunk/lib/System/Unix/Path.inc

Modified: llvm/trunk/lib/System/Unix/Path.inc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/System/Unix/Path.inc?rev=52847&r1=52846&r2=52847&view=diff

==============================================================================
--- llvm/trunk/lib/System/Unix/Path.inc (original)
+++ llvm/trunk/lib/System/Unix/Path.inc Fri Jun 27 17:55:30 2008
@@ -263,11 +263,9 @@
 /// GetMainExecutable - Return the path to the main executable, given the
 /// value of argv[0] from program startup.
 Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
-#if defined(__CYGWIN__)
-  char exe_link[64];
-  snprintf(exe_link, sizeof(exe_link), "/proc/%d/exe", getpid());
+#if defined(__linux__) || defined(__CYGWIN__)
   char exe_path[MAXPATHLEN];
-  ssize_t len = readlink(exe_link, exe_path, sizeof(exe_path));
+  ssize_t len = readlink("/proc/self/exe", exe_path, sizeof(exe_path));
   if (len > 0 && len < MAXPATHLEN - 1) {
     exe_path[len] = '\0';
     return Path(std::string(exe_path));





More information about the llvm-commits mailing list