[PATCH/committed] sim: v850: add pointer casts for execv on Windows

Message ID 20210529193310.8710-1-vapier@gentoo.org
State New
Headers show
Series
  • [PATCH/committed] sim: v850: add pointer casts for execv on Windows
Related show

Commit Message

Luis Machado via Gdb-patches May 29, 2021, 7:33 p.m.
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 | 4 ++++
 sim/v850/simops.c  | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

-- 
2.31.1

Patch

diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index 02e6bbdc2158..29237d80c985 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -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.
diff --git a/sim/v850/simops.c b/sim/v850/simops.c
index 62a2bbcbb615..f0e2745dee93 100644
--- a/sim/v850/simops.c
+++ b/sim/v850/simops.c
@@ -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;