Fix GetMainExecutable on kFreeBSD.
authorAnton Korobeynikov <asl@math.spbu.ru>
Mon, 26 Mar 2012 12:05:51 +0000 (12:05 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Mon, 26 Mar 2012 12:05:51 +0000 (12:05 +0000)
Patch by Sylvestre Ledru!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153435 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Unix/Path.inc

index 418dc0733499d56fd0af10adc21c65b0a695378f..b85b574ce386c7a242d6780933a024608cbc39c4 100644 (file)
@@ -256,7 +256,7 @@ Path::GetCurrentDirectory() {
 }
 
 #if defined(__FreeBSD__) || defined (__NetBSD__) || \
-    defined(__OpenBSD__) || defined(__minix)
+    defined(__OpenBSD__) || defined(__minix) || defined(__FreeBSD_kernel__)
 static int
 test_dir(char buf[PATH_MAX], char ret[PATH_MAX],
     const char *dir, const char *bin)
@@ -308,7 +308,7 @@ getprogpath(char ret[PATH_MAX], const char *bin)
   free(pv);
   return (NULL);
 }
-#endif // __FreeBSD__ || __NetBSD__
+#endif // __FreeBSD__ || __NetBSD__ || __FreeBSD_kernel__
 
 /// GetMainExecutable - Return the path to the main executable, given the
 /// value of argv[0] from program startup.
@@ -325,7 +325,7 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
       return Path(link_path);
   }
 #elif defined(__FreeBSD__) || defined (__NetBSD__) || \
-      defined(__OpenBSD__) || defined(__minix)
+      defined(__OpenBSD__) || defined(__minix) || defined(__FreeBSD_kernel__)
   char exe_path[PATH_MAX];
 
   if (getprogpath(exe_path, argv0) != NULL)