non-x86 arches do not have PAGE_SIZE
authorAndroid Tools Maintainers <android-tools-devel@lists.alioth.debian.org>
Wed, 11 Jan 2023 08:19:44 +0000 (08:19 +0000)
committerJochen Sprickerhof <jspricke@debian.org>
Wed, 11 Jan 2023 08:19:44 +0000 (08:19 +0000)
Forwarded: not-needed

Gbp-Pq: Topic art
Gbp-Pq: Name fix-build-on-non-x86.patch

art/libartbase/base/safe_copy.cc

index ad75aa7b2812faceac28e77b0de8e6d88570c235..0c4779200b3ec1eef6bb5c34fdd9a17739becdf0 100644 (file)
@@ -56,10 +56,11 @@ ssize_t SafeCopy(void *dst, const void *src, size_t len) {
     }
 
     src_iovs[iovecs_used].iov_base = const_cast<char*>(cur);
-    if (!IsAlignedParam(cur, PAGE_SIZE)) {
-      src_iovs[iovecs_used].iov_len = AlignUp(cur, PAGE_SIZE) - cur;
+    size_t pagesize = static_cast<size_t>(sysconf(_SC_PAGE_SIZE));
+    if (!IsAlignedParam(cur, pagesize)) {
+      src_iovs[iovecs_used].iov_len = AlignUp(cur, pagesize) - cur;
     } else {
-      src_iovs[iovecs_used].iov_len = PAGE_SIZE;
+      src_iovs[iovecs_used].iov_len = pagesize;
     }
 
     src_iovs[iovecs_used].iov_len = std::min(src_iovs[iovecs_used].iov_len, len);