aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2013-02-17 13:33:58 -0600
committerPeter Seebach <peter.seebach@windriver.com>2013-02-17 13:33:58 -0600
commite076225ccdd10dabe3d6097c0682d8c88bd58753 (patch)
tree5edf7b3bc8e76ad5f6c57e0927b327484f8a9a4e
parent01bc8866a4aa5af17350b36e2347dc1695dbceb0 (diff)
downloadpseudo-e076225ccdd10dabe3d6097c0682d8c88bd58753.tar.gz
pseudo-e076225ccdd10dabe3d6097c0682d8c88bd58753.tar.bz2
pseudo-e076225ccdd10dabe3d6097c0682d8c88bd58753.zip
Darwin fixes for fsync changes, uninitialized variable
Darwin's off_t is a 64-bit type, so there's no off64_t. Also, there's an uninitialized variable usage in unlinkat which LLVM catches. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-rw-r--r--ChangeLog.txt4
-rwxr-xr-xmakewrappers1
-rw-r--r--ports/darwin/guts/sync_file_range.c13
-rw-r--r--ports/darwin/wrapfuncs.in1
-rw-r--r--ports/unix/guts/unlinkat.c2
5 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 3dbf183..3739ad8 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,7 @@
+2013-02-17:
+ * (seebs) Fix uninitialized variable in unlink, fix force-fsync for
+ Darwin (off64_t is not a distinct type there).
+
2013-02-16:
* (seebs) Add wrapper setting which automatically returns a fixed
value from some wrappers. Add fixed-value wrappers for all the
diff --git a/makewrappers b/makewrappers
index fb919b5..8af65f1 100755
--- a/makewrappers
+++ b/makewrappers
@@ -431,6 +431,7 @@ additional ports to include.
self.name = port
self.subports = []
self.preports = []
+ print port
if os.path.exists(self.portfile("pseudo_wrappers.c")):
self.wrappers = self.portfile("pseudo_wrappers.c")
diff --git a/ports/darwin/guts/sync_file_range.c b/ports/darwin/guts/sync_file_range.c
new file mode 100644
index 0000000..e0a31a4
--- /dev/null
+++ b/ports/darwin/guts/sync_file_range.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2013 Wind River Systems; see
+ * guts/COPYRIGHT for information.
+ *
+ * int sync_file_range(int fd, off_t offset, off_t nbytes, unsigned int flags)
+ * int rc = -1;
+ */
+
+ rc = real_sync_file_range(fd, offset, nbytes, flags);
+
+/* return rc;
+ * }
+ */
diff --git a/ports/darwin/wrapfuncs.in b/ports/darwin/wrapfuncs.in
index 5cc4aaf..c1c00b7 100644
--- a/ports/darwin/wrapfuncs.in
+++ b/ports/darwin/wrapfuncs.in
@@ -23,3 +23,4 @@ int fgetgrent_r(FILE *fp, struct group *gbuf, char *buf, size_t buflen, struct g
int fgetpwent_r(FILE *fp, struct passwd *pbuf, char *buf, size_t buflen, struct passwd **pbufp); /* real_func=pseudo_fgetpwent_r */
int getpwent_r(struct passwd *pwbuf, char *buf, size_t buflen, struct passwd **pwbufp); /* real_func=pseudo_getpwent_r */
int getgrent_r(struct group *gbuf, char *buf, size_t buflen, struct group **gbufp); /* real_func=pseudo_getgrent_r */
+int sync_file_range(int fd, off_t offset, off_t nbytes, unsigned int flags); /* async_skip=0 */
diff --git a/ports/unix/guts/unlinkat.c b/ports/unix/guts/unlinkat.c
index 8a359d1..bd51b09 100644
--- a/ports/unix/guts/unlinkat.c
+++ b/ports/unix/guts/unlinkat.c
@@ -9,7 +9,7 @@
pseudo_msg_t *msg;
int save_errno;
PSEUDO_STATBUF buf;
- int old_db_entry;
+ int old_db_entry = 0;
#ifdef PSEUDO_NO_REAL_AT_FUNCTIONS
if (dirfd != AT_FDCWD) {