diff --git a/CMakeLists.txt b/CMakeLists.txt index ed94cb2..6c89538 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") find_package(Filesystem REQUIRED) set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall -fno-pie -no-pie") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall -fno-pie -no-pie -D_LARGEFILE64_SOURCE") include_directories(.) add_executable(wibo diff --git a/main.cpp b/main.cpp index 31f2287..9955493 100644 --- a/main.cpp +++ b/main.cpp @@ -310,7 +310,7 @@ static void blockUpper2GB() { holdingMapStart = std::max(holdingMapStart, FILL_MEMORY_ABOVE); // DEBUG_LOG("Mapping %08x-%08x\n", holdingMapStart, holdingMapEnd); - void* holdingMap = mmap((void*) holdingMapStart, holdingMapEnd - holdingMapStart, PROT_READ, MAP_ANONYMOUS|MAP_FIXED|MAP_PRIVATE, -1, 0); + void* holdingMap = mmap((void*) holdingMapStart, holdingMapEnd - holdingMapStart, PROT_READ | PROT_WRITE, MAP_ANONYMOUS|MAP_FIXED|MAP_PRIVATE, -1, 0); if (holdingMap == MAP_FAILED) { perror("Failed to create holding map");