Lines Matching refs:section
45 // an ELF file containing a .debug_frame or .eh_frame section; you can then
72 using google_breakpad::test_assembler::Section;
89 const CFISection §ion);
90 #define PERHAPS_WRITE_DEBUG_FRAME_FILE(name, section) \
91 WriteELFFrameSection("cfitest-" name, ".debug_frame", section);
92 #define PERHAPS_WRITE_EH_FRAME_FILE(name, section) \
93 WriteELFFrameSection("cfitest-" name, ".eh_frame", section);
95 #define PERHAPS_WRITE_DEBUG_FRAME_FILE(name, section)
96 #define PERHAPS_WRITE_EH_FRAME_FILE(name, section)
123 MockCallFrameErrorReporter() : Reporter("mock filename", "mock section") { }
197 CFISection section(kBigEndian, 8);
198 section
212 ASSERT_TRUE(section.GetContents(&contents));
222 CFISection section(kLittleEndian, 4);
223 section
237 ASSERT_TRUE(section.GetContents(&contents));
247 CFISection section(kBigEndian, 8);
248 section
261 ASSERT_TRUE(section.GetContents(&contents));
271 CFISection section(kBigEndian, 8);
272 section
276 section
287 ASSERT_TRUE(section.GetContents(&contents));
298 CFISection section(kLittleEndian, 4);
299 section.CIEHeader(0xffe799a8, 0x3398dcdd, 0x6e9683de, 3, "");
300 section.Append(10, dwarf2reader::DW_CFA_nop);
301 section.FinishEntry();
303 PERHAPS_WRITE_DEBUG_FRAME_FILE("SingleCIE", section);
309 EXPECT_TRUE(section.GetContents(&contents));
319 CFISection section(kBigEndian, 4);
321 section
328 PERHAPS_WRITE_DEBUG_FRAME_FILE("OneFDE", section);
339 EXPECT_TRUE(section.GetContents(&contents));
349 CFISection section(kBigEndian, 4);
351 section
364 PERHAPS_WRITE_DEBUG_FRAME_FILE("TwoFDEsOneCIE", section);
382 EXPECT_TRUE(section.GetContents(&contents));
392 CFISection section(kLittleEndian, 8);
394 section
411 PERHAPS_WRITE_DEBUG_FRAME_FILE("TwoFDEsTwoCIEs", section);
431 EXPECT_TRUE(section.GetContents(&contents));
441 CFISection section(kBigEndian, 4);
443 section
458 PERHAPS_WRITE_DEBUG_FRAME_FILE("BadVersion", section);
475 EXPECT_TRUE(section.GetContents(&contents));
485 CFISection section(kBigEndian, 4);
487 section
502 PERHAPS_WRITE_DEBUG_FRAME_FILE("BadAugmentation", section);
519 EXPECT_TRUE(section.GetContents(&contents));
530 CFISection section(kBigEndian, 4);
532 section
543 PERHAPS_WRITE_DEBUG_FRAME_FILE("CIEVersion1ReturnColumn", section);
553 EXPECT_TRUE(section.GetContents(&contents));
564 CFISection section(kBigEndian, 4);
566 section
577 PERHAPS_WRITE_DEBUG_FRAME_FILE("CIEVersion3ReturnColumn", section);
587 EXPECT_TRUE(section.GetContents(&contents));
604 // Prepare SECTION to receive FDE instructions.
613 // appropriately for the section's address size.
617 // On return, SECTION is ready to have FDE instructions appended to
619 void StockCIEAndFDE(CFISection *section) {
621 if (section->AddressSize() == 4) {
626 assert(section->AddressSize() == 8);
633 (*section)
643 section->FDEHeader(cie_label, fde_start, fde_size);
657 // Run the contents of SECTION through a CallFrameInfo parser,
659 void ParseSection(CFISection *section, bool succeeds = true) {
661 EXPECT_TRUE(section->GetContents(&contents));
663 if (section->endianness() == kBigEndian)
666 assert(section->endianness() == kLittleEndian);
670 byte_reader.SetAddressSize(section->AddressSize());
693 CFISection section(kBigEndian, 4);
694 StockCIEAndFDE(§ion);
695 section
702 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_set_loc", section);
710 ParseSection(§ion);
714 CFISection section(kBigEndian, 8);
715 StockCIEAndFDE(§ion);
716 section
723 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_advance_loc", section);
732 ParseSection(§ion);
736 CFISection section(kLittleEndian, 8);
737 StockCIEAndFDE(§ion);
738 section
743 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_advance_loc1", section);
752 ParseSection(§ion);
756 CFISection section(kLittleEndian, 4);
757 StockCIEAndFDE(§ion);
758 section
763 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_advance_loc2", section);
772 ParseSection(§ion);
776 CFISection section(kBigEndian, 8);
777 StockCIEAndFDE(§ion);
778 section
783 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_advance_loc4", section);
792 ParseSection(§ion);
797 CFISection section(kBigEndian, 8);
798 StockCIEAndFDE(§ion);
799 section
804 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_advance_loc8", section);
813 ParseSection(§ion);
817 CFISection section(kLittleEndian, 4);
818 StockCIEAndFDE(§ion);
819 section
823 PERHAPS_WRITE_DEBUG_FRAME_FILE("DW_CFA_def_cfa", section);
830 ParseSection(§ion);
834 CFISection section(kBigEndian, 4);
835 StockCIEAndFDE(§ion);
836 section
851 ParseSection(§ion);
855 CFISection section(kLittleEndian, 8);
856 StockCIEAndFDE(§ion);
857 section
866 ParseSection(§ion);
872 CFISection section(kBigEndian, 4);
873 StockCIEAndFDE(§ion);
874 section
885 ParseSection(§ion);
889 CFISection section(kBigEndian, 4);
890 StockCIEAndFDE(§ion);
891 section
901 ParseSection(§ion);
905 CFISection section(kLittleEndian, 4);
906 StockCIEAndFDE(§ion);
907 section
922 ParseSection(§ion);
928 CFISection section(kBigEndian, 4);
929 StockCIEAndFDE(§ion);
930 section
940 ParseSection(§ion);
944 CFISection section(kLittleEndian, 8);
945 StockCIEAndFDE(§ion);
946 section
955 ParseSection(§ion);
959 CFISection section(kLittleEndian, 4);
960 StockCIEAndFDE(§ion);
961 section
969 ParseSection(§ion);
973 CFISection section(kLittleEndian, 4);
974 StockCIEAndFDE(§ion);
975 section
983 ParseSection(§ion);
987 CFISection section(kBigEndian, 4);
988 StockCIEAndFDE(§ion);
989 section
998 ParseSection(§ion);
1002 CFISection section(kBigEndian, 4);
1003 StockCIEAndFDE(§ion);
1004 section
1013 ParseSection(§ion);
1017 CFISection section(kBigEndian, 8);
1018 StockCIEAndFDE(§ion);
1019 section
1036 ParseSection(§ion);
1040 CFISection section(kBigEndian, 4);
1041 StockCIEAndFDE(§ion);
1042 section
1052 ParseSection(§ion);
1056 CFISection section(kBigEndian, 4);
1057 StockCIEAndFDE(§ion);
1058 section
1073 ParseSection(§ion);
1077 CFISection section(kLittleEndian, 8);
1078 StockCIEAndFDE(§ion);
1079 section
1087 ParseSection(§ion);
1091 CFISection section(kBigEndian, 8);
1092 StockCIEAndFDE(§ion);
1093 section
1104 ParseSection(§ion);
1108 CFISection section(kBigEndian, 4);
1109 StockCIEAndFDE(§ion);
1110 section
1121 ParseSection(§ion);
1125 CFISection section(kLittleEndian, 8);
1133 section
1178 ParseSection(§ion);
1182 CFISection section(kBigEndian, 4);
1190 section
1227 ParseSection(§ion);
1231 CFISection section(kBigEndian, 4);
1239 section
1287 ParseSection(§ion);
1291 CFISection section(kLittleEndian, 8);
1292 StockCIEAndFDE(§ion);
1304 section
1360 ParseSection(§ion);
1365 CFISection section(kBigEndian, 4);
1366 StockCIEAndFDE(§ion);
1368 section
1385 ParseSection(§ion);
1389 CFISection section(kLittleEndian, 4);
1390 StockCIEAndFDE(§ion);
1391 section
1402 ParseSection(§ion);
1406 CFISection section(kBigEndian, 4);
1407 StockCIEAndFDE(§ion);
1408 section
1427 ParseSection(§ion);
1431 CFISection section(kLittleEndian, 8);
1432 StockCIEAndFDE(§ion);
1433 section
1444 ParseSection(§ion);
1448 CFISection section(kLittleEndian, 4);
1449 StockCIEAndFDE(§ion);
1450 section
1461 ParseSection(§ion);
1466 CFISection section(kBigEndian, 4);
1468 section
1517 ParseSection(§ion);
1522 CFISection section(kLittleEndian, 8);
1523 StockCIEAndFDE(§ion);
1524 section
1534 ParseSection(§ion, false);
1540 CFISection section(kLittleEndian, 4);
1541 StockCIEAndFDE(§ion);
1542 section
1553 ParseSection(§ion);
1557 CFISection section(kLittleEndian, 4);
1558 StockCIEAndFDE(§ion);
1559 section
1576 ParseSection(§ion);
1580 CFISection section(kLittleEndian, 4);
1581 StockCIEAndFDE(§ion);
1582 section
1593 ParseSection(§ion);
1597 CFISection section(kLittleEndian, 4);
1598 StockCIEAndFDE(§ion);
1599 section
1616 ParseSection(§ion);
1620 CFISection section(kLittleEndian, 4);
1621 StockCIEAndFDE(§ion);
1622 section
1634 ParseSection(§ion);
1638 CFISection section(kLittleEndian, 4);
1639 StockCIEAndFDE(§ion);
1640 section
1659 ParseSection(§ion);
1663 CFISection section(kLittleEndian, 4);
1664 StockCIEAndFDE(§ion);
1665 section
1685 ParseSection(§ion);
1689 CFISection section(kLittleEndian, 4);
1690 StockCIEAndFDE(§ion);
1691 section
1703 ParseSection(§ion);
1707 CFISection section(kLittleEndian, 4);
1708 StockCIEAndFDE(§ion);
1709 section
1728 ParseSection(§ion);
1732 CFISection section(kLittleEndian, 4);
1733 StockCIEAndFDE(§ion);
1734 section
1754 ParseSection(§ion);
1758 CFISection section(kLittleEndian, 4);
1759 StockCIEAndFDE(§ion);
1760 section
1771 ParseSection(§ion);
1775 CFISection section(kLittleEndian, 4);
1776 StockCIEAndFDE(§ion);
1777 section
1795 ParseSection(§ion);
1799 CFISection section(kLittleEndian, 4);
1800 StockCIEAndFDE(§ion);
1801 section
1820 ParseSection(§ion);
1824 CFISection section(kLittleEndian, 4);
1825 StockCIEAndFDE(§ion);
1826 section
1837 ParseSection(§ion);
1841 CFISection section(kLittleEndian, 4);
1842 StockCIEAndFDE(§ion);
1843 section
1861 ParseSection(§ion);
1865 CFISection section(kLittleEndian, 4);
1866 StockCIEAndFDE(§ion);
1867 section
1887 ParseSection(§ion);
1891 CFISection section(kLittleEndian, 4);
1892 StockCIEAndFDE(§ion);
1893 section
1905 ParseSection(§ion);
1909 CFISection section(kLittleEndian, 4);
1910 StockCIEAndFDE(§ion);
1911 section
1921 PERHAPS_WRITE_DEBUG_FRAME_FILE("RestoreValExpressionRuleChanged", section);
1932 ParseSection(§ion);
1936 CFISection section(kLittleEndian, 4);
1937 StockCIEAndFDE(§ion);
1938 section
1950 section);
1963 ParseSection(§ion);
1968 : CFIInsnFixture(), section(kBigEndian, 4, true) {
1972 section.SetEncodedPointerBases(encoded_pointer_bases);
1974 CFISection section;
1977 // Parse CFIInsnFixture::ParseSection, but parse the section as
1979 void ParseEHFrameSection(CFISection *section, bool succeeds = true) {
1980 EXPECT_TRUE(section->ContainsEHFrame());
1982 EXPECT_TRUE(section->GetContents(&contents));
1984 if (section->endianness() == kBigEndian)
1987 assert(section->endianness() == kLittleEndian);
1991 byte_reader.SetAddressSize(section->AddressSize());
2010 section
2024 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.Terminator", section);
2037 ParseEHFrameSection(§ion);
2050 section.SetPointerEncoding(fde_encoding);
2051 section.SetEncodedPointerBases(encoded_pointer_bases);
2053 section
2072 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.SimpleFDE", section);
2089 ParseEHFrameSection(§ion);
2095 section
2107 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.EmptyZ", section);
2118 ParseEHFrameSection(§ion);
2124 section
2136 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.BadZ", section);
2141 ParseEHFrameSection(§ion, false);
2149 section
2162 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.zL", section);
2171 ParseEHFrameSection(§ion);
2179 section
2191 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.zP", section);
2200 ParseEHFrameSection(§ion);
2208 section.SetPointerEncoding(pointer_encoding);
2209 section
2220 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.zR", section);
2227 ParseEHFrameSection(§ion);
2232 section
2242 PERHAPS_WRITE_EH_FRAME_FILE("EHFrame.zS", section);
2251 ParseEHFrameSection(§ion);
2256 section name") { }
2321 using google_breakpad::test_assembler::Section;
2347 .D32(header.link) // link to related section
2374 .Address(section_table_offset) // section header offset
2379 .D16(elf_class == ELFCLASS32 ? 40 : 64) // section header entry size
2380 .D16(3) // section count
2381 .D16(1) // section name string table
2384 // The null section. Every ELF file has one, as the first entry in
2385 // the section header table.
2390 // The CFI section. The whole reason for writing out this ELF file
2396 // The section holding the names of the sections. This is the
2397 // section whose index appears in the e_shstrndx member of the ELF
2410 // Create the section table. The ELF header's e_shoff member refers
2418 // Append the section table and the section contents to the ELF file.