Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66f3a96a authored by Kalesh Singh's avatar Kalesh Singh
Browse files

libvulkan: Remove use of hardcoded PAGE_SIZE 4096



bionic hard codes the PAGE_SIZE macro as 4096. This is going away as
Android begins to support larger page sizes. Remove the usage of this
assumption from libvulkan source; use instead getpagesize() which
provides the real pagesize.

Test: mma
Bug: 295227858
Change-Id: Ie7c2c2f47d8c61c7495dbd3d88bb63ccf7a74063
Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
parent e88ec57f
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <dlfcn.h>
#include <string.h>
#include <sys/prctl.h>
#include <unistd.h>

#include <mutex>
#include <string>
@@ -362,6 +363,7 @@ template <typename Functor>
void ForEachFileInZip(const std::string& zipname,
                      const std::string& dir_in_zip,
                      Functor functor) {
    static const size_t kPageSize = getpagesize();
    int32_t err;
    ZipArchiveHandle zip = nullptr;
    if ((err = OpenArchive(zipname.c_str(), &zip)) != 0) {
@@ -389,7 +391,7 @@ void ForEachFileInZip(const std::string& zipname,
        // the APK. Loading still may fail for other reasons, but this at least
        // lets us avoid failed-to-load log messages in the typical case of
        // compressed and/or unaligned libraries.
        if (entry.method != kCompressStored || entry.offset % PAGE_SIZE != 0)
        if (entry.method != kCompressStored || entry.offset % kPageSize != 0)
            continue;
        functor(filename);
    }