uint32_t
GetTargetByteSize ();
- uint32_t
- GetAlignment ();
-
bool
GetDescription (lldb::SBStream &description);
data = property(GetSectionData, None, doc='''A read only property that returns an lldb object that represents the bytes for this section (lldb.SBData) for this section.''')
type = property(GetSectionType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSectionType") that represents the type of this section (code, data, etc.).''')
target_byte_size = property(GetTargetByteSize, None, doc='''A read only property that returns the size of a target byte represented by this section as a number of host bytes.''')
- alignment = property(GetAlignment, None, doc='''A read only property that returns the alignment of this section as a number of host bytes.''')
%}
#endif
/// The number of host (8-bit) bytes needed to hold a target byte
uint32_t GetTargetByteSize();
- /// Return the alignment of the section in bytes
- ///
- /// \return
- /// The alignment of the section in bytes
- uint32_t GetAlignment();
-
bool operator==(const lldb::SBSection &rhs);
bool operator!=(const lldb::SBSection &rhs);
return 0;
}
-uint32_t SBSection::GetAlignment() {
- LLDB_INSTRUMENT_VA(this);
-
- SectionSP section_sp(GetSP());
- if (section_sp.get())
- return (1 << section_sp->GetLog2Align());
- return 0;
-}
-
bool SBSection::operator==(const SBSection &rhs) {
LLDB_INSTRUMENT_VA(this, rhs);
self.assertIsNotNone(data_section)
self.assertEqual(data_section.target_byte_size, 1)
-
- def test_get_alignment(self):
- exe = self.getBuildArtifact("aligned.out")
- self.yaml2obj("aligned.yaml", exe)
- target = self.dbg.CreateTarget(exe)
- self.assertTrue(target, VALID_TARGET)
-
- # exe contains a single section aligned to 0x1000
- section = target.modules[0].sections[0]
- self.assertEqual(section.GetAlignment(), 0x1000)
- self.assertEqual(section.alignment, 0x1000)
+++ /dev/null
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
- Entry: 0x0000000000400000
-Sections:
- - Name: .text1
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- Address: 0x0000000000400000
- AddressAlign: 0x0000000000001000
- Size: 0xb0