[llvm-branch-commits] [compiler-rt-branch] r244114 - Merging r243686:

Hans Wennborg hans at hanshq.net
Wed Aug 5 13:36:50 PDT 2015


Author: hans
Date: Wed Aug  5 15:36:50 2015
New Revision: 244114

URL: http://llvm.org/viewvc/llvm-project?rev=244114&view=rev
Log:
Merging r243686:
------------------------------------------------------------------------
r243686 | dsanders | 2015-07-30 14:00:48 -0700 (Thu, 30 Jul 2015) | 14 lines

[Sanitizers] [Bug 24151] Generalize type of offset in internal_mmap

Summary:
Using u64 as type for offset changes its value, changing starting address for map in file.
This patch solves Bug 24151, which raises issue while mapping file in mips32.

Patch by Mohit Bhakkad

Reviewers: dsanders, kcc

Subscribers: hans, llvm-commits, samsonov, nitesh.jain, sagar, bhushan, jaydeep

Differential Revision: http://reviews.llvm.org/D11588

------------------------------------------------------------------------

Modified:
    compiler-rt/branches/release_37/   (props changed)
    compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_common.h
    compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_linux.cc
    compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.cc
    compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.h
    compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_win.cc

Propchange: compiler-rt/branches/release_37/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  5 15:36:50 2015
@@ -1 +1 @@
-/compiler-rt/trunk:242350,242424,242444,242449,242539-242540,242647,242651,243170,243604,243615
+/compiler-rt/trunk:242350,242424,242444,242449,242539-242540,242647,242651,243170,243604,243615,243686

Modified: compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_common.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_common.h?rev=244114&r1=244113&r2=244114&view=diff
==============================================================================
--- compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_common.h (original)
+++ compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_common.h Wed Aug  5 15:36:50 2015
@@ -236,7 +236,7 @@ uptr ReadFileToBuffer(const char *file_n
 // (or NULL if mapping fails). Stores the size of mmaped region
 // in '*buff_size'.
 void *MapFileToMemory(const char *file_name, uptr *buff_size);
-void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, uptr offset);
+void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, OFF_T offset);
 
 bool IsAccessibleMemoryRange(uptr beg, uptr size);
 

Modified: compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_linux.cc?rev=244114&r1=244113&r2=244114&view=diff
==============================================================================
--- compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_linux.cc Wed Aug  5 15:36:50 2015
@@ -110,7 +110,7 @@ namespace __sanitizer {
 
 // --------------- sanitizer_libc.h
 uptr internal_mmap(void *addr, uptr length, int prot, int flags, int fd,
-                   u64 offset) {
+                   OFF_T offset) {
 #if SANITIZER_FREEBSD || SANITIZER_LINUX_USES_64BIT_SYSCALLS
   return internal_syscall(SYSCALL(mmap), (uptr)addr, length, prot, flags, fd,
                           offset);

Modified: compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.cc?rev=244114&r1=244113&r2=244114&view=diff
==============================================================================
--- compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.cc (original)
+++ compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.cc Wed Aug  5 15:36:50 2015
@@ -240,14 +240,14 @@ void *MapFileToMemory(const char *file_n
   return internal_iserror(map) ? 0 : (void *)map;
 }
 
-void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, uptr offset) {
+void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, OFF_T offset) {
   uptr flags = MAP_SHARED;
   if (addr) flags |= MAP_FIXED;
   uptr p = internal_mmap(addr, size, PROT_READ | PROT_WRITE, flags, fd, offset);
   int mmap_errno = 0;
   if (internal_iserror(p, &mmap_errno)) {
-    Printf("could not map writable file (%d, %zu, %zu): %zd, errno: %d\n",
-           fd, offset, size, p, mmap_errno);
+    Printf("could not map writable file (%d, %lld, %zu): %zd, errno: %d\n",
+           fd, (long long)offset, size, p, mmap_errno);
     return 0;
   }
   return (void *)p;

Modified: compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.h?rev=244114&r1=244113&r2=244114&view=diff
==============================================================================
--- compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.h (original)
+++ compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_posix.h Wed Aug  5 15:36:50 2015
@@ -35,7 +35,7 @@ uptr internal_write(fd_t fd, const void
 
 // Memory
 uptr internal_mmap(void *addr, uptr length, int prot, int flags,
-                   int fd, u64 offset);
+                   int fd, OFF_T offset);
 uptr internal_munmap(void *addr, uptr length);
 int internal_mprotect(void *addr, uptr length, int prot);
 

Modified: compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_win.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_win.cc?rev=244114&r1=244113&r2=244114&view=diff
==============================================================================
--- compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_win.cc (original)
+++ compiler-rt/branches/release_37/lib/sanitizer_common/sanitizer_win.cc Wed Aug  5 15:36:50 2015
@@ -170,7 +170,7 @@ void *MapFileToMemory(const char *file_n
   UNIMPLEMENTED();
 }
 
-void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, uptr offset) {
+void *MapWritableFileToMemory(void *addr, uptr size, fd_t fd, OFF_T offset) {
   UNIMPLEMENTED();
 }
 




More information about the llvm-branch-commits mailing list