Lines Matching full:section
23 /// This class emits specified line table into the .debug_line section.
36 // Get descriptor for output .debug_line section. in emit()
101 SectionDescriptor &Section) { in emitLineTablePrologue() argument
103 Section.emitIntVal(P.getVersion(), 2); in emitLineTablePrologue()
106 Section.emitIntVal(P.getAddressSize(), 1); in emitLineTablePrologue()
109 Section.emitIntVal(P.SegSelectorSize, 1); in emitLineTablePrologue()
113 Section.emitOffset(0xBADDEF); in emitLineTablePrologue()
115 uint64_t OffsetAfterPrologueLength = Section.OS.tell(); in emitLineTablePrologue()
116 emitLineTableProloguePayload(P, Section); in emitLineTablePrologue()
117 uint64_t OffsetAfterPrologueEnd = Section.OS.tell(); in emitLineTablePrologue()
120 Section.apply(OffsetAfterPrologueLength - in emitLineTablePrologue()
121 Section.getFormParams().getDwarfOffsetByteSize(), in emitLineTablePrologue()
128 SectionDescriptor &Section) { in emitLineTablePrologueV2IncludeAndFileTable() argument
137 Section.emitString(Include.getForm(), *IncludeStr); in emitLineTablePrologueV2IncludeAndFileTable()
140 Section.emitIntVal(0, 1); in emitLineTablePrologueV2IncludeAndFileTable()
152 Section.emitString(File.Name.getForm(), *FileNameStr); in emitLineTablePrologueV2IncludeAndFileTable()
155 // directory in the include_directories section. in emitLineTablePrologueV2IncludeAndFileTable()
156 encodeULEB128(File.DirIdx, Section.OS); in emitLineTablePrologueV2IncludeAndFileTable()
159 encodeULEB128(File.ModTime, Section.OS); in emitLineTablePrologueV2IncludeAndFileTable()
162 encodeULEB128(File.Length, Section.OS); in emitLineTablePrologueV2IncludeAndFileTable()
165 Section.emitIntVal(0, 1); in emitLineTablePrologueV2IncludeAndFileTable()
170 SectionDescriptor &Section) { in emitLineTablePrologueV5IncludeAndFileTable() argument
173 Section.emitIntVal(0, 1); in emitLineTablePrologueV5IncludeAndFileTable()
176 Section.emitIntVal(1, 1); in emitLineTablePrologueV5IncludeAndFileTable()
179 encodeULEB128(dwarf::DW_LNCT_path, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
180 encodeULEB128(P.IncludeDirectories[0].getForm(), Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
184 encodeULEB128(P.IncludeDirectories.size(), Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
193 Section.emitString(Include.getForm(), *IncludeStr); in emitLineTablePrologueV5IncludeAndFileTable()
204 Section.emitIntVal(0, 1); in emitLineTablePrologueV5IncludeAndFileTable()
210 Section.emitIntVal( in emitLineTablePrologueV5IncludeAndFileTable()
214 encodeULEB128(dwarf::DW_LNCT_path, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
215 encodeULEB128(FileNameForm, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
217 encodeULEB128(dwarf::DW_LNCT_directory_index, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
218 encodeULEB128(dwarf::DW_FORM_data1, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
221 encodeULEB128(dwarf::DW_LNCT_MD5, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
222 encodeULEB128(dwarf::DW_FORM_data16, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
226 encodeULEB128(dwarf::DW_LNCT_LLVM_source, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
227 encodeULEB128(LLVMSourceForm, Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
232 encodeULEB128(P.FileNames.size(), Section.OS); in emitLineTablePrologueV5IncludeAndFileTable()
244 Section.emitString(FileNameForm, *FileNameStr); in emitLineTablePrologueV5IncludeAndFileTable()
245 Section.emitIntVal(File.DirIdx, 1); in emitLineTablePrologueV5IncludeAndFileTable()
250 Section.emitBinaryData( in emitLineTablePrologueV5IncludeAndFileTable()
263 Section.emitString(LLVMSourceForm, *FileSourceStr); in emitLineTablePrologueV5IncludeAndFileTable()
269 SectionDescriptor &Section) { in emitLineTableProloguePayload() argument
271 Section.emitIntVal(P.MinInstLength, 1); in emitLineTableProloguePayload()
274 Section.emitIntVal(P.MaxOpsPerInst, 1); in emitLineTableProloguePayload()
277 Section.emitIntVal(P.DefaultIsStmt, 1); in emitLineTableProloguePayload()
279 Section.emitIntVal(P.LineBase, 1); in emitLineTableProloguePayload()
281 Section.emitIntVal(P.LineRange, 1); in emitLineTableProloguePayload()
283 Section.emitIntVal(P.OpcodeBase, 1); in emitLineTableProloguePayload()
287 Section.emitIntVal(Length, 1); in emitLineTableProloguePayload()
290 emitLineTablePrologueV2IncludeAndFileTable(P, Section); in emitLineTableProloguePayload()
292 emitLineTablePrologueV5IncludeAndFileTable(P, Section); in emitLineTableProloguePayload()
296 SectionDescriptor &Section) { in emitLineTableRows() argument
310 Section.OS.write(EncodingBuffer.c_str(), EncodingBuffer.size()); in emitLineTableRows()
328 Section.emitIntVal(dwarf::DW_LNS_extended_op, 1); in emitLineTableRows()
329 encodeULEB128(Section.getFormParams().AddrSize + 1, Section.OS); in emitLineTableRows()
330 Section.emitIntVal(dwarf::DW_LNE_set_address, 1); in emitLineTableRows()
331 Section.emitIntVal(Row.Address.Address, in emitLineTableRows()
332 Section.getFormParams().AddrSize); in emitLineTableRows()
346 Section.emitIntVal(dwarf::DW_LNS_set_file, 1); in emitLineTableRows()
347 encodeULEB128(FileNum, Section.OS); in emitLineTableRows()
351 Section.emitIntVal(dwarf::DW_LNS_set_column, 1); in emitLineTableRows()
352 encodeULEB128(Column, Section.OS); in emitLineTableRows()
357 Section.emitIntVal(dwarf::DW_LNS_extended_op, 1); in emitLineTableRows()
358 encodeULEB128(Size + 1, Section.OS); in emitLineTableRows()
359 Section.emitIntVal(dwarf::DW_LNE_set_discriminator, 1); in emitLineTableRows()
360 encodeULEB128(Discriminator, Section.OS); in emitLineTableRows()
366 Section.emitIntVal(dwarf::DW_LNS_set_isa, 1); in emitLineTableRows()
367 encodeULEB128(Isa, Section.OS); in emitLineTableRows()
371 Section.emitIntVal(dwarf::DW_LNS_negate_stmt, 1); in emitLineTableRows()
374 Section.emitIntVal(dwarf::DW_LNS_set_basic_block, 1); in emitLineTableRows()
377 Section.emitIntVal(dwarf::DW_LNS_set_prologue_end, 1); in emitLineTableRows()
380 Section.emitIntVal(dwarf::DW_LNS_set_epilogue_begin, 1); in emitLineTableRows()
386 Section.OS.write(EncodingBuffer.c_str(), EncodingBuffer.size()); in emitLineTableRows()
393 Section.emitIntVal(dwarf::DW_LNS_advance_line, 1); in emitLineTableRows()
394 encodeSLEB128(LineDelta, Section.OS); in emitLineTableRows()
397 Section.emitIntVal(dwarf::DW_LNS_advance_pc, 1); in emitLineTableRows()
398 encodeULEB128(AddressDelta, Section.OS); in emitLineTableRows()
403 Section.OS.write(EncodingBuffer.c_str(), EncodingBuffer.size()); in emitLineTableRows()
414 Section.OS.write(EncodingBuffer.c_str(), EncodingBuffer.size()); in emitLineTableRows()