summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2023-10-17 15:32:30 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2023-10-18 10:38:59 +0000
commitdbf87745296a302111f37d8e6f03a6e53a73a77f (patch)
treec39057e537c451f5aba28ac3d9fd28938fc590b3
parent141efea93aa42e3d5a732deba4a7baeb140a50e5 (diff)
Make the bitmap section one page in image_test.cc.
We expect the bitmap section to be page aligned and at least one page. Test: image_test Change-Id: I2dea5f5962640124683bdfea625be700538f8929
-rw-r--r--dex2oat/linker/image_test.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/dex2oat/linker/image_test.cc b/dex2oat/linker/image_test.cc
index 81306682b9..8d59b4fd42 100644
--- a/dex2oat/linker/image_test.cc
+++ b/dex2oat/linker/image_test.cc
@@ -215,10 +215,12 @@ TEST_F(ImageTest, ImageChecksum) {
uint32_t image_begin = ART_BASE_ADDRESS;
uint32_t image_roots = ART_BASE_ADDRESS + (1 * KB);
ImageSection sections[ImageHeader::kSectionCount];
+ // We require bitmap section to be at least one page.
+ sections[ImageHeader::kSectionImageBitmap] = ImageSection(0, kPageSize);
ImageHeader image_header(/*image_reservation_size=*/ kPageSize,
/*component_count=*/ 1u,
image_begin,
- /*image_size=*/ kPageSize,
+ /*image_size=*/ sizeof(ImageHeader),
sections,
image_roots,
/*oat_checksum=*/ 0u,
@@ -238,12 +240,13 @@ TEST_F(ImageTest, ImageChecksum) {
ScratchFile location;
image_file.reset(OS::CreateEmptyFile(location.GetFilename().c_str()));
const uint8_t* data = reinterpret_cast<const uint8_t*>(&image_header);
- const uint8_t bitmap[] = {0};
+ std::unique_ptr<uint8_t> bitmap(new uint8_t[kPageSize]);
+ memset(bitmap.get(), 0, kPageSize);
ASSERT_EQ(image_header.GetImageChecksum(), 0u);
ASSERT_TRUE(image_header.WriteData(
image_file,
data,
- bitmap,
+ bitmap.get(),
ImageHeader::kStorageModeUncompressed,
/*max_image_block_size=*/std::numeric_limits<uint32_t>::max(),
/*update_checksum=*/ true,
@@ -259,7 +262,7 @@ TEST_F(ImageTest, ImageChecksum) {
ASSERT_TRUE(image_header.WriteData(
image_file,
data,
- bitmap,
+ bitmap.get(),
ImageHeader::kStorageModeUncompressed,
/*max_image_block_size=*/std::numeric_limits<uint32_t>::max(),
/*update_checksum=*/ true,