VG_(getdents64) is only needed on Linux, and causes build problems
on Darwin, so make it exist only on Linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14421 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c
index a019dd8..be3240b 100644
--- a/coregrind/m_libcfile.c
+++ b/coregrind/m_libcfile.c
@@ -522,19 +522,15 @@
return sr_isError(res) ? -1 : sr_Res(res);
}
+#if defined(VGO_linux)
Int VG_(getdents64) (Int fd, struct vki_dirent64 *dirp, UInt count)
{
-# if defined(VGO_linux)
SysRes res;
/* res = getdents( fd, dirp, count ); */
res = VG_(do_syscall3)(__NR_getdents64, fd, (UWord)dirp, count);
return sr_isError(res) ? -1 : sr_Res(res);
-# elif defined(VGO_darwin)
- I_die_here;
-# else
-# error "Unknown OS"
-# endif
}
+#endif
/* Check accessibility of a file. Returns zero for access granted,
nonzero otherwise. */
diff --git a/include/pub_tool_libcfile.h b/include/pub_tool_libcfile.h
index e93e665..ea50289 100644
--- a/include/pub_tool_libcfile.h
+++ b/include/pub_tool_libcfile.h
@@ -92,7 +92,10 @@
extern SysRes VG_(poll) (struct vki_pollfd *fds, Int nfds, Int timeout);
extern Int VG_(readlink)( const HChar* path, HChar* buf, UInt bufsize );
+
+#if defined(VGO_linux)
extern Int VG_(getdents64)( Int fd, struct vki_dirent64 *dirp, UInt count );
+#endif
extern const HChar* VG_(basename)( const HChar* path );
extern const HChar* VG_(dirname) ( const HChar* path );