Lines Matching refs:elf

17 #include <elf.h>
133 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
152 ASSERT_TRUE(elf->Init(&load_bias));
155 const std::unordered_map<uint64_t, LoadInfo>& pt_loads = elf->pt_loads();
173 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
210 ASSERT_TRUE(elf->Init(&load_bias));
213 const std::unordered_map<uint64_t, LoadInfo>& pt_loads = elf->pt_loads();
242 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
279 ASSERT_TRUE(elf->Init(&load_bias));
282 const std::unordered_map<uint64_t, LoadInfo>& pt_loads = elf->pt_loads();
313 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
350 ASSERT_TRUE(elf->Init(&load_bias));
353 const std::unordered_map<uint64_t, LoadInfo>& pt_loads = elf->pt_loads();
372 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
424 ASSERT_TRUE(elf->Init(&load_bias));
427 const std::unordered_map<uint64_t, LoadInfo>& pt_loads = elf->pt_loads();
547 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
550 ASSERT_TRUE(elf->Init(&load_bias));
554 ASSERT_TRUE(elf->GetSoname(&name));
570 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
573 ASSERT_TRUE(elf->Init(&load_bias));
577 ASSERT_FALSE(elf->GetSoname(&name));
592 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
595 ASSERT_TRUE(elf->Init(&load_bias));
599 ASSERT_FALSE(elf->GetSoname(&name));
616 std::unique_ptr<ElfInterface> elf(new ElfInterfaceType(&memory_));
619 ASSERT_TRUE(elf->Init(&load_bias));
623 ASSERT_FALSE(elf->GetSoname(&name));
638 ElfType elf(&memory_);
640 elf.FakeSetEhFrameOffset(0x10000);
641 elf.FakeSetEhFrameSize(0);
642 elf.FakeSetDebugFrameOffset(0);
643 elf.FakeSetDebugFrameSize(0);
650 elf.InitHeaders();
652 EXPECT_FALSE(elf.eh_frame() == nullptr);
653 EXPECT_TRUE(elf.debug_frame() == nullptr);
666 ElfType elf(&memory_);
668 elf.FakeSetEhFrameOffset(0);
669 elf.FakeSetEhFrameSize(0);
670 elf.FakeSetDebugFrameOffset(0x5000);
671 elf.FakeSetDebugFrameSize(0x200);
683 elf.InitHeaders();
685 EXPECT_TRUE(elf.eh_frame() == nullptr);
686 EXPECT_FALSE(elf.debug_frame() == nullptr);
699 ElfType elf(&memory_);
701 elf.FakeSetEhFrameOffset(0x1000);
702 elf.FakeSetEhFrameSize(0x100);
703 elf.FakeSetDebugFrameOffset(0);
704 elf.FakeSetDebugFrameSize(0);
706 elf.InitHeaders();
708 EXPECT_TRUE(elf.eh_frame() == nullptr);
709 EXPECT_EQ(0U, elf.eh_frame_offset());
710 EXPECT_EQ(static_cast<uint64_t>(-1), elf.eh_frame_size());
711 EXPECT_TRUE(elf.debug_frame() == nullptr);
724 ElfType elf(&memory_);
726 elf.FakeSetEhFrameOffset(0);
727 elf.FakeSetEhFrameSize(0);
728 elf.FakeSetDebugFrameOffset(0x1000);
729 elf.FakeSetDebugFrameSize(0x100);
731 elf.InitHeaders();
733 EXPECT_TRUE(elf.eh_frame() == nullptr);
734 EXPECT_TRUE(elf.debug_frame() == nullptr);
735 EXPECT_EQ(0U, elf.debug_frame_offset());
736 EXPECT_EQ(static_cast<uint64_t>(-1), elf.debug_frame_size());
749 std::unique_ptr<ElfInterfaceType> elf(new ElfInterfaceType(&memory_));
759 ASSERT_TRUE(elf->Init(&load_bias));
773 std::unique_ptr<ElfInterfaceType> elf(new ElfInterfaceType(&memory_));
826 ASSERT_TRUE(elf->Init(&load_bias));
828 EXPECT_EQ(0U, elf->debug_frame_offset());
829 EXPECT_EQ(0U, elf->debug_frame_size());
830 EXPECT_EQ(0U, elf->gnu_debugdata_offset());
831 EXPECT_EQ(0U, elf->gnu_debugdata_size());
836 ASSERT_TRUE(elf->GetFunctionName(0x90010, 0, &name, &name_offset));
839 ASSERT_TRUE(elf->GetFunctionName(0xd0020, 0, &name, &name_offset));
862 std::unique_ptr<ElfInterfaceType> elf(new ElfInterfaceType(&memory_));
936 ASSERT_TRUE(elf->Init(&load_bias));
938 EXPECT_EQ(0x6000U, elf->debug_frame_offset());
939 EXPECT_EQ(0x500U, elf->debug_frame_size());
940 EXPECT_EQ(0x5000U, elf->gnu_debugdata_offset());
941 EXPECT_EQ(0x800U, elf->gnu_debugdata_size());
942 EXPECT_EQ(0x7000U, elf->eh_frame_offset());
943 EXPECT_EQ(0x800U, elf->eh_frame_size());
944 EXPECT_EQ(0xa000U, elf->eh_frame_hdr_offset());
945 EXPECT_EQ(0xf00U, elf->eh_frame_hdr_size());
957 std::unique_ptr<ElfInterface> elf(new ElfInterface32(&memory_));
976 ASSERT_TRUE(elf->Init(&load_bias));
978 EXPECT_TRUE(elf->IsValidPc(0));
979 EXPECT_TRUE(elf->IsValidPc(0x5000));
980 EXPECT_TRUE(elf->IsValidPc(0xffff));
981 EXPECT_FALSE(elf->IsValidPc(0x10000));
985 std::unique_ptr<ElfInterface> elf(new ElfInterface32(&memory_));
1004 ASSERT_TRUE(elf->Init(&load_bias));
1006 EXPECT_FALSE(elf->IsValidPc(0));
1007 EXPECT_FALSE(elf->IsValidPc(0x1000));
1008 EXPECT_FALSE(elf->IsValidPc(0x1fff));
1009 EXPECT_TRUE(elf->IsValidPc(0x2000));
1010 EXPECT_TRUE(elf->IsValidPc(0x5000));
1011 EXPECT_TRUE(elf->IsValidPc(0x11fff));
1012 EXPECT_FALSE(elf->IsValidPc(0x12000));
1016 std::unique_ptr<ElfInterface> elf(new ElfInterface32(&memory_));
1067 ASSERT_TRUE(elf->Init(&load_bias));
1068 elf->InitHeaders();
1070 EXPECT_FALSE(elf->IsValidPc(0));
1071 EXPECT_FALSE(elf->IsValidPc(0x20ff));
1072 EXPECT_TRUE(elf->IsValidPc(0x2100));
1073 EXPECT_TRUE(elf->IsValidPc(0x2200));
1074 EXPECT_TRUE(elf->IsValidPc(0x22ff));
1075 EXPECT_FALSE(elf->IsValidPc(0x2300));
1079 std::unique_ptr<ElfInterface> elf(new ElfInterface32(&memory_));
1130 ASSERT_TRUE(elf->Init(&load_bias));
1131 elf->InitHeaders();
1133 EXPECT_FALSE(elf->IsValidPc(0));
1134 EXPECT_FALSE(elf->IsValidPc(0x27ff));
1135 EXPECT_TRUE(elf->IsValidPc(0x2800));
1136 EXPECT_TRUE(elf->IsValidPc(0x2900));
1137 EXPECT_TRUE(elf->IsValidPc(0x29ff));
1138 EXPECT_FALSE(elf->IsValidPc(0x2a00));