Lines Matching +full:address +full:- +full:address +full:- +full:data
1 //===- DWARFDebugArangeSet.cpp --------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
26 DWARFFormValue::dumpAddress(OS, AddressSize, Address); in dump()
33 Offset = -1ULL; in clear()
38 Error DWARFDebugArangeSet::extract(DWARFDataExtractor data, in extract() argument
41 assert(data.isValidOffset(*offset_ptr)); in extract()
45 // 7.21 Address Range Table (extract) in extract()
46 // Each set of entries in the table of address ranges contained in in extract()
49 // A 4-byte (32-bit DWARF) or 12-byte (64-bit DWARF) length containing in extract()
55 // A 4-byte (32-bit DWARF) or 8-byte (64-bit DWARF) offset into the in extract()
60 // a segment, an address and a length. The segment selector size is given by in extract()
61 // the segment_selector_size field of the header; the address and length in extract()
63 // tuples is terminated by a 0 for the segment, a 0 for the address and 0 in extract()
70 data.getInitialLength(offset_ptr, &Err); in extract()
71 HeaderData.Version = data.getU16(offset_ptr, &Err); in extract()
72 HeaderData.CuOffset = data.getUnsigned( in extract()
74 HeaderData.AddrSize = data.getU8(offset_ptr, &Err); in extract()
75 HeaderData.SegSize = data.getU8(offset_ptr, &Err); in extract()
78 "parsing address ranges table at offset 0x%" PRIx64 in extract()
86 if (!data.isValidOffsetForDataOfSize(Offset, full_length)) in extract()
88 "the length of address range table at offset " in extract()
93 "address range table at offset 0x%" PRIx64, Offset)) in extract()
97 "non-zero segment selector size in address range " in extract()
103 // an address because we do not support non-zero segment selector sizes). in extract()
109 "address range table at offset 0x%" PRIx64 in extract()
114 const uint32_t header_size = *offset_ptr - Offset; in extract()
123 "address range table at offset 0x%" PRIx64 in extract()
131 static_assert(sizeof(arangeDescriptor.Address) == in extract()
134 assert(sizeof(arangeDescriptor.Address) >= HeaderData.AddrSize); in extract()
139 arangeDescriptor.Address = data.getUnsigned(offset_ptr, HeaderData.AddrSize); in extract()
140 arangeDescriptor.Length = data.getUnsigned(offset_ptr, HeaderData.AddrSize); in extract()
142 // Each set of tuples is terminated by a 0 for the address and 0 in extract()
144 if (arangeDescriptor.Length == 0 && arangeDescriptor.Address == 0) { in extract()
149 "address range table at offset 0x%" PRIx64 in extract()
158 "address range table at offset 0x%" PRIx64 in extract()
165 OS << "Address Range Header: " in dump()