]> git.saurik.com Git - ldid.git/commitdiff
Support read-only mmap when possible.
authorJay Freeman (saurik) <saurik@saurik.com>
Sat, 22 Oct 2011 14:15:35 +0000 (07:15 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Sat, 22 Oct 2011 14:15:35 +0000 (07:15 -0700)
ldid.cpp

index 4982582a8606db91c8a11662de341f74aac15649..f42d15d81e09ca22749f3dc7bcd08a91d36f87f7 100644 (file)
--- a/ldid.cpp
+++ b/ldid.cpp
@@ -519,9 +519,9 @@ class FatHeader :
     }
 };
 
-FatHeader Map(const char *path) {
+FatHeader Map(const char *path, bool ro = false) {
     size_t size;
-    void *base(map(path, 0, _not(size_t), &size, false));
+    void *base(map(path, 0, _not(size_t), &size, ro));
     return FatHeader(base, size);
 }
 
@@ -877,7 +877,7 @@ int main(int argc, const char *argv[]) {
         if (flag_p)
             printf("path%zu='%s'\n", filei, file.c_str());
 
-        FatHeader fat_header(Map(temp == NULL ? path : temp));
+        FatHeader fat_header(Map(temp == NULL ? path : temp, !(flag_R | flag_T | flag_s | flag_S)));
         struct linkedit_data_command *signature(NULL);
 
         _foreach (mach_header, fat_header.GetMachHeaders()) {