Further cleanups to low-level memory management. It's still a
conceptual mess and needs a redesign, but this is a start. Most stuff
now works again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3247 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/core.h b/coregrind/core.h
index a389f90..6f500f1 100644
--- a/coregrind/core.h
+++ b/coregrind/core.h
@@ -1031,6 +1031,7 @@
UInt sf_flags, UInt fd, OffT offset );
extern Int VG_(munmap)( void* start, SizeT length );
extern Int VG_(mprotect)( void *start, SizeT length, UInt prot );
+extern Int VG_(mprotect_native)( void *start, SizeT length, UInt prot );
/* Move an fd into the Valgrind-safe range */
@@ -1279,6 +1280,7 @@
// These are valid if (flags & SF_FILE)
OffT offset; // file offset
const Char* filename; // filename (NULL if unknown)
+ Int fnIdx; // filename table index (-1 if unknown)
UInt dev; // device
UInt ino; // inode
@@ -1358,7 +1360,8 @@
Exports of vg_syscalls.c
------------------------------------------------------------------ */
-extern Char *VG_(resolve_filename)(Int fd);
+extern HChar* VG_(resolve_filename_nodup)(Int fd);
+extern HChar* VG_(resolve_filename)(Int fd);
extern Bool VG_(pre_syscall) ( ThreadId tid );
extern void VG_(post_syscall)( ThreadId tid, Bool restart );