Fix parameter types for sys_proc_create() (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 3 Feb 2016 23:29:33 +0000 (18:29 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 3 Feb 2016 23:31:54 +0000 (18:31 -0500)
There were too many consts in there.  The new ones are exactly from
execv()'s parameters.

Technically, you should rebuild glibc.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/serialize.c
user/parlib/include/parlib.h
user/parlib/include/serialize.h
user/parlib/syscall.c

index ca630e9..e494585 100644 (file)
@@ -8,8 +8,8 @@
 #include <stddef.h>
 #include <stdint.h>
 
-struct serialized_data *serialize_argv_envp(const char * const *argv,
-                                            const char * const *envp)
+struct serialized_data *serialize_argv_envp(char *const argv[],
+                                            char *const envp[])
 {
        size_t bufsize = 0;
        size_t argc = 0, envc = 0;
index 7cab4e8..56c6ab0 100644 (file)
@@ -34,9 +34,8 @@ size_t      sys_getpcoreid(void);
 int         sys_getpid(void);
 int         sys_proc_destroy(int pid, int exitcode);
 void        sys_yield(bool being_nice);
-int         sys_proc_create(const char *path, size_t path_l,
-                            const char * const *argv, const char * const *envp,
-                            int flags);
+int         sys_proc_create(const char *path, size_t path_l, char *const argv[],
+                            char *const envp[], int flags);
 int         sys_proc_run(int pid);
 ssize_t     sys_shared_page_alloc(void **addr, pid_t p2, 
                                   int p1_flags, int p2_flags);
index 6e2b4cb..d97eaf0 100644 (file)
@@ -10,6 +10,6 @@ struct serialized_data {
        size_t len;
        char buf[];
 };
-extern struct serialized_data *serialize_argv_envp(const char * const *argv,
-                                                   const char * const *envp);
+extern struct serialized_data *serialize_argv_envp(char *const argv[],
+                                                   char *const envp[]);
 extern void free_serialized_data(struct serialized_data *sd);
index a20cdc7..4e8bd40 100644 (file)
@@ -57,8 +57,8 @@ void sys_yield(bool being_nice)
        ros_syscall(SYS_yield, being_nice, 0, 0, 0, 0, 0);
 }
 
-int sys_proc_create(const char *path, size_t path_l, const char * const *argv,
-                                       const char * const *envp, int flags)
+int sys_proc_create(const char *path, size_t path_l, char *const argv[],
+                    char *const envp[], int flags)
 {
        struct serialized_data *sd = serialize_argv_envp(argv, envp);
        if (!sd) {