diff options
| author | 2023-10-17 15:32:30 +0100 | |
|---|---|---|
| committer | 2023-10-18 10:38:59 +0000 | |
| commit | dbf87745296a302111f37d8e6f03a6e53a73a77f (patch) | |
| tree | c39057e537c451f5aba28ac3d9fd28938fc590b3 | |
| parent | 141efea93aa42e3d5a732deba4a7baeb140a50e5 (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.cc | 11 |
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, |