소스 검색

MAP_ANON is deprecated in favor of MAP_ANONYMOUS, but telesphoreo needs
to ships a patch for this so pretend to be nice and make it work (TM)

David Kalnischkies 15 년 전
부모
커밋
f895e2ce11
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      apt-pkg/contrib/mmap.cc

+ 8 - 0
apt-pkg/contrib/mmap.cc

@@ -237,11 +237,19 @@ DynamicMMap::DynamicMMap(unsigned long Flags,unsigned long const &WorkSpace,
 	if ((this->Flags & Fallback) != Fallback) {
 	if ((this->Flags & Fallback) != Fallback) {
 		// Set the permissions.
 		// Set the permissions.
 		int Prot = PROT_READ;
 		int Prot = PROT_READ;
+#ifdef MAP_ANONYMOUS
 		int Map = MAP_PRIVATE | MAP_ANONYMOUS;
 		int Map = MAP_PRIVATE | MAP_ANONYMOUS;
+#else
+		int Map = MAP_PRIVATE | MAP_ANON;
+#endif
 		if ((this->Flags & ReadOnly) != ReadOnly)
 		if ((this->Flags & ReadOnly) != ReadOnly)
 			Prot |= PROT_WRITE;
 			Prot |= PROT_WRITE;
 		if ((this->Flags & Public) == Public)
 		if ((this->Flags & Public) == Public)
+#ifdef MAP_ANONYMOUS
 			Map = MAP_SHARED | MAP_ANONYMOUS;
 			Map = MAP_SHARED | MAP_ANONYMOUS;
+#else
+			Map = MAP_SHARED | MAP_ANON;
+#endif
 
 
 		// use anonymous mmap() to get the memory
 		// use anonymous mmap() to get the memory
 		Base = (unsigned char*) mmap(0, WorkSpace, Prot, Map, -1, 0);
 		Base = (unsigned char*) mmap(0, WorkSpace, Prot, Map, -1, 0);