aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2013-06-18 16:39:46 -0500
committerPeter Seebach <peter.seebach@windriver.com>2013-06-18 16:39:46 -0500
commit62177dc38fabb880132e63aeef3b8d3878f9584c (patch)
tree5f2ecce450fe6b5cf6d1cb83cda4377523c4a148
parentb9eb2b5633b5a23efe72c950494728d93c2b5823 (diff)
downloadpseudo-62177dc38fabb880132e63aeef3b8d3878f9584c.tar.gz
pseudo-62177dc38fabb880132e63aeef3b8d3878f9584c.tar.bz2
pseudo-62177dc38fabb880132e63aeef3b8d3878f9584c.zip
Fix RHEL 4.7 compilation error
No idea how this survived so long, but the clone() syscall prototype on RHEL 4.7 doesn't have the "..." for additional arguments, so we can't pass them. Also had unused variables that would otherwise have been being filled in from va_args and passed. But there's no extra args to pass. Interestingly, this contradicts the clone() man page in RHEL 4.7. If you have problems with clone() there, that's probably why.
-rw-r--r--ChangeLog.txt3
-rw-r--r--ports/linux/oldclone/guts/clone.c2
-rw-r--r--ports/linux/oldclone/pseudo_wrappers.c3
3 files changed, 4 insertions, 4 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 113f675..f257c7c 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,6 @@
+2013-06-18:
+ * (seebs) Fix bug in oldclone (reported by rich@noir.com).
+
2013-02-27:
* (seebs) Oh, hey, what if I took out my debug messages?
* (seebs) update docs a bit to reduce bitrot
diff --git a/ports/linux/oldclone/guts/clone.c b/ports/linux/oldclone/guts/clone.c
index 5240bb3..c6771e5 100644
--- a/ports/linux/oldclone/guts/clone.c
+++ b/ports/linux/oldclone/guts/clone.c
@@ -19,7 +19,7 @@
myargs->arg = arg;
/* call the real syscall */
- rc = (*real_clone)(wrap_clone_child, child_stack, flags, myargs, pid);
+ rc = (*real_clone)(wrap_clone_child, child_stack, flags, myargs);
/* If we're not sharing memory, we need to free myargs in the parent */
if (!(flags & CLONE_VM))
diff --git a/ports/linux/oldclone/pseudo_wrappers.c b/ports/linux/oldclone/pseudo_wrappers.c
index c0ce5dd..d6ea41e 100644
--- a/ports/linux/oldclone/pseudo_wrappers.c
+++ b/ports/linux/oldclone/pseudo_wrappers.c
@@ -35,9 +35,6 @@ int wrap_clone_child(void *args) {
int
clone(int (*fn)(void *), void *child_stack, int flags, void *arg) {
sigset_t saved;
- pid_t *pid;
- struct user_desc *tls;
- pid_t *ctid;
int rc = -1;