summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'libunwindstack/tests/ElfInterfaceTest.cpp')
-rw-r--r--libunwindstack/tests/ElfInterfaceTest.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/libunwindstack/tests/ElfInterfaceTest.cpp b/libunwindstack/tests/ElfInterfaceTest.cpp
index 2752e99c2..e138c3acf 100644
--- a/libunwindstack/tests/ElfInterfaceTest.cpp
+++ b/libunwindstack/tests/ElfInterfaceTest.cpp
@@ -910,8 +910,32 @@ void ElfInterfaceTest::InitSectionHeadersOffsets() {
910 memory_.SetMemory(offset, &shdr, sizeof(shdr)); 910 memory_.SetMemory(offset, &shdr, sizeof(shdr));
911 offset += ehdr.e_shentsize; 911 offset += ehdr.e_shentsize;
912 912
913 memset(&shdr, 0, sizeof(shdr));
914 shdr.sh_type = SHT_PROGBITS;
915 shdr.sh_link = 2;
916 shdr.sh_name = 0x300;
917 shdr.sh_addr = 0x7000;
918 shdr.sh_offset = 0x7000;
919 shdr.sh_entsize = 0x100;
920 shdr.sh_size = 0x800;
921 memory_.SetMemory(offset, &shdr, sizeof(shdr));
922 offset += ehdr.e_shentsize;
923
924 memset(&shdr, 0, sizeof(shdr));
925 shdr.sh_type = SHT_PROGBITS;
926 shdr.sh_link = 2;
927 shdr.sh_name = 0x400;
928 shdr.sh_addr = 0x6000;
929 shdr.sh_offset = 0xa000;
930 shdr.sh_entsize = 0x100;
931 shdr.sh_size = 0xf00;
932 memory_.SetMemory(offset, &shdr, sizeof(shdr));
933 offset += ehdr.e_shentsize;
934
913 memory_.SetMemory(0xf100, ".debug_frame", sizeof(".debug_frame")); 935 memory_.SetMemory(0xf100, ".debug_frame", sizeof(".debug_frame"));
914 memory_.SetMemory(0xf200, ".gnu_debugdata", sizeof(".gnu_debugdata")); 936 memory_.SetMemory(0xf200, ".gnu_debugdata", sizeof(".gnu_debugdata"));
937 memory_.SetMemory(0xf300, ".eh_frame", sizeof(".eh_frame"));
938 memory_.SetMemory(0xf400, ".eh_frame_hdr", sizeof(".eh_frame_hdr"));
915 939
916 uint64_t load_bias = 0; 940 uint64_t load_bias = 0;
917 ASSERT_TRUE(elf->Init(&load_bias)); 941 ASSERT_TRUE(elf->Init(&load_bias));
@@ -920,6 +944,10 @@ void ElfInterfaceTest::InitSectionHeadersOffsets() {
920 EXPECT_EQ(0x500U, elf->debug_frame_size()); 944 EXPECT_EQ(0x500U, elf->debug_frame_size());
921 EXPECT_EQ(0x5000U, elf->gnu_debugdata_offset()); 945 EXPECT_EQ(0x5000U, elf->gnu_debugdata_offset());
922 EXPECT_EQ(0x800U, elf->gnu_debugdata_size()); 946 EXPECT_EQ(0x800U, elf->gnu_debugdata_size());
947 EXPECT_EQ(0x7000U, elf->eh_frame_offset());
948 EXPECT_EQ(0x800U, elf->eh_frame_size());
949 EXPECT_EQ(0xa000U, elf->eh_frame_hdr_offset());
950 EXPECT_EQ(0xf00U, elf->eh_frame_hdr_size());
923} 951}
924 952
925TEST_F(ElfInterfaceTest, init_section_headers_offsets32) { 953TEST_F(ElfInterfaceTest, init_section_headers_offsets32) {