sim: v850: add pointer casts for execv on Windows
authorMike Frysinger <vapier@gentoo.org>
Sat, 29 May 2021 19:23:24 +0000 (15:23 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sat, 29 May 2021 19:32:59 +0000 (15:32 -0400)
The execv prototypes on Windows via mingw64 include extra const
markings on the argv/envp pointers than what POSIX specifies.
Cast them to void* as a hack to get it working on all platforms.

sim/v850/ChangeLog
sim/v850/simops.c

index 02e6bbdc2158153e77c58e43ac36a9dcf2738075..29237d80c9850d115b3d0c17badee40b2b69a9df 100644 (file)
@@ -1,3 +1,7 @@
+2021-05-29  Mike Frysinger  <vapier@gentoo.org>
+
+       * simops.c (OP_10007E0): Add (void*) casts to argv & envp.
+
 2021-05-17  Mike Frysinger  <vapier@gentoo.org>
 
        * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Delete.
index 62a2bbcbb61504c96b7f0b6a9226c9bf8c9e63ff..f0e2745dee939150b5b64fc501ef9528edcf7c2d 100644 (file)
@@ -1640,7 +1640,7 @@ OP_10007E0 (void)
            char *path = fetch_str (simulator, PARM1);
            char **argv = fetch_argv (simulator, PARM2);
            char **envp = fetch_argv (simulator, PARM3);
-           RETVAL = execve (path, argv, envp);
+           RETVAL = execve (path, (void *)argv, (void *)envp);
            free (path);
            freeargv (argv);
            freeargv (envp);
@@ -1656,7 +1656,7 @@ OP_10007E0 (void)
          {
            char *path = fetch_str (simulator, PARM1);
            char **argv = fetch_argv (simulator, PARM2);
-           RETVAL = execv (path, argv);
+           RETVAL = execv (path, (void *)argv);
            free (path);
            freeargv (argv);
            RETERR = errno;