diff options
author | rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-09-03 11:31:58 +0000 |
---|---|---|
committer | rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-09-03 11:31:58 +0000 |
commit | 60654ae51db5d11d7e565d2281556dceef9078f3 (patch) | |
tree | 995dba823e362be192513fc966ff9700a244996d | |
parent | c22f51957e502fc1e437c2b0baed0d586e42a802 (diff) | |
download | valgrind-60654ae51db5d11d7e565d2281556dceef9078f3.tar.gz |
Fix UNKNOWN fcntl 97 on OS X 10.11
bz#351632
On OS X 10.11 (DP8)
Before:
== 595 tests, 575 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==
After:
== 595 tests, 219 stderr failures, 9 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15619 a5019735-40e9-0310-863c-91ae7b9d1cf9
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | coregrind/m_syswrap/syswrap-darwin.c | 21 | ||||
-rw-r--r-- | include/vki/vki-darwin.h | 5 |
3 files changed, 27 insertions, 0 deletions
@@ -367,6 +367,7 @@ where XXXXXX is the bug number as listed below. 351386 Solaris: Cannot run ld.so.1 under Valgrind 351474 Fix VG_(iseqsigset) as obvious 351534 Fix incorrect header guard +351632 Fix UNKNOWN fcntl 97 on OS X 10.11 351756 Intercept platform_memchr$VARIANT$Haswell on OS X 351858 ldsoexec support on Solaris 351873 Newer gcc doesn't allow __builtin_tabortdc[i] in ppc32 mode diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c index a6407bcbf..e7297cd83 100644 --- a/coregrind/m_syswrap/syswrap-darwin.c +++ b/coregrind/m_syswrap/syswrap-darwin.c @@ -1529,6 +1529,11 @@ static const HChar *name_for_fcntl(UWord cmd) { # if DARWIN_VERS >= DARWIN_10_9 F(F_ADDFILESIGS); # endif +# if DARWIN_VERS >= DARWIN_10_11 + F(F_ADDFILESIGS_FOR_DYLD_SIM); + F(F_BARRIERFSYNC); + F(F_ADDFILESIGS_RETURN); +# endif default: return "UNKNOWN"; } @@ -1711,6 +1716,22 @@ PRE(fcntl) } break; +# if DARWIN_VERS >= DARWIN_10_11 + case VKI_F_ADDFILESIGS_FOR_DYLD_SIM: /* Add signature from same file, only if it is signed + by Apple used by dyld for simulator */ + // FIXME: RK + break; + + case VKI_F_BARRIERFSYNC: /* fsync + issue barrier to drive */ + // FIXME: RK + break; + + case VKI_F_ADDFILESIGS_RETURN: /* Add signature from same file, return end offset in + structure on success */ + // FIXME: RK + break; +# endif + default: PRINT("fcntl ( %lu, %lu [??] )", ARG1, ARG2); log_decaying("UNKNOWN fcntl %lu!", ARG2); diff --git a/include/vki/vki-darwin.h b/include/vki/vki-darwin.h index 50847ddf3..49d0d4c9a 100644 --- a/include/vki/vki-darwin.h +++ b/include/vki/vki-darwin.h @@ -304,6 +304,11 @@ typedef uint32_t vki_u32; #if DARWIN_VERS >= DARWIN_10_9 # define VKI_F_ADDFILESIGS F_ADDFILESIGS #endif +#if DARWIN_VERS >= DARWIN_10_11 +# define VKI_F_ADDFILESIGS_FOR_DYLD_SIM F_ADDFILESIGS_FOR_DYLD_SIM +# define VKI_F_BARRIERFSYNC F_BARRIERFSYNC +# define VKI_F_ADDFILESIGS_RETURN F_ADDFILESIGS_RETURN +#endif #define VKI_F_FULLFSYNC F_FULLFSYNC #define VKI_F_PATHPKG_CHECK F_PATHPKG_CHECK #define VKI_F_FREEZE_FS F_FREEZE_FS |