Another attempt to fix FreeBsd build

the previous fix did not work because of different const qualifications
on the envp pointer.

This should resolve that (and remove a couple of const_casts in the
process).

llvm-svn: 322187
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
index 0963453..c1c68f7 100644
--- a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
+++ b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
@@ -48,7 +48,7 @@
   /// Launches an inferior process ready for debugging.  Forms the
   /// implementation of Process::DoLaunch.
   ProcessMonitor(ProcessFreeBSD *process, lldb_private::Module *module,
-                 char const *argv[], char const *envp[],
+                 char const *argv[], lldb_private::Environment env,
                  const lldb_private::FileSpec &stdin_file_spec,
                  const lldb_private::FileSpec &stdout_file_spec,
                  const lldb_private::FileSpec &stderr_file_spec,
@@ -219,7 +219,7 @@
   /// launching a child process.
   struct LaunchArgs : OperationArgs {
     LaunchArgs(ProcessMonitor *monitor, lldb_private::Module *module,
-               char const **argv, char const **envp,
+               char const **argv, lldb_private::Environment env,
                const lldb_private::FileSpec &stdin_file_spec,
                const lldb_private::FileSpec &stdout_file_spec,
                const lldb_private::FileSpec &stderr_file_spec,
@@ -229,7 +229,7 @@
 
     lldb_private::Module *m_module; // The executable image to launch.
     char const **m_argv;            // Process arguments.
-    char const **m_envp;            // Process environment.
+    lldb_private::Environment m_env;                // Process environment.
     const lldb_private::FileSpec m_stdin_file_spec; // Redirect stdin or empty.
     const lldb_private::FileSpec
         m_stdout_file_spec; // Redirect stdout or empty.