Lines Matching full:dwarf
114 // This emits the Dwarf line table for the specified section from the entries
128 // Loop through each MCLineEntry and encode the dwarf line number table.
135 MCOS->EmitIntValue(dwarf::DW_LNS_set_file, 1);
140 MCOS->EmitIntValue(dwarf::DW_LNS_set_column, 1);
146 MCOS->EmitIntValue(dwarf::DW_LNS_extended_op, 1);
148 MCOS->EmitIntValue(dwarf::DW_LNE_set_discriminator, 1);
153 MCOS->EmitIntValue(dwarf::DW_LNS_set_isa, 1);
158 MCOS->EmitIntValue(dwarf::DW_LNS_negate_stmt, 1);
161 MCOS->EmitIntValue(dwarf::DW_LNS_set_basic_block, 1);
163 MCOS->EmitIntValue(dwarf::DW_LNS_set_prologue_end, 1);
165 MCOS->EmitIntValue(dwarf::DW_LNS_set_epilogue_begin, 1);
198 // Switch back the dwarf line section.
207 // This emits the Dwarf file and the line tables.
271 // Next 2 bytes is the Version, which is Dwarf 2.
429 /// Utility function to encode a Dwarf pair of LineDelta and AddrDeltas.
443 OS << char(dwarf::DW_LNS_const_add_pc);
445 OS << char(dwarf::DW_LNS_advance_pc);
448 OS << char(dwarf::DW_LNS_extended_op);
450 OS << char(dwarf::DW_LNE_end_sequence);
460 OS << char(dwarf::DW_LNS_advance_line);
470 OS << char(dwarf::DW_LNS_copy);
489 OS << char(dwarf::DW_LNS_const_add_pc);
496 OS << char(dwarf::DW_LNS_advance_pc);
500 OS << char(dwarf::DW_LNS_copy);
511 // When generating dwarf for assembly source files this emits
519 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_compile_unit);
520 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
521 EmitAbbrev(MCOS, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_data4);
523 EmitAbbrev(MCOS, dwarf::DW_AT_ranges, dwarf::DW_FORM_data4);
525 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
526 EmitAbbrev(MCOS, dwarf::DW_AT_high_pc, dwarf::DW_FORM_addr);
528 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
530 EmitAbbrev(MCOS, dwarf::DW_AT_comp_dir, dwarf::DW_FORM_string);
533 EmitAbbrev(MCOS, dwarf::DW_AT_APPLE_flags, dwarf::DW_FORM_string);
534 EmitAbbrev(MCOS, dwarf::DW_AT_producer, dwarf::DW_FORM_string);
535 EmitAbbrev(MCOS, dwarf::DW_AT_language, dwarf::DW_FORM_data2);
540 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_label);
541 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
542 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
543 EmitAbbrev(MCOS, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data4);
544 EmitAbbrev(MCOS, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data4);
545 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
546 EmitAbbrev(MCOS, dwarf::DW_AT_prototyped, dwarf::DW_FORM_flag);
551 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_unspecified_parameters);
552 MCOS->EmitIntValue(dwarf::DW_CHILDREN_no, 1);
559 // When generating dwarf for assembly source files this emits the data for
631 // When generating dwarf for assembly source files this emits the data for
655 // The 2 byte DWARF version.
755 MCOS->EmitIntValue(dwarf::DW_LANG_Mips_Assembler, 2);
759 // Loop on saved info for dwarf labels and create the DIEs for them.
798 // When generating dwarf for assembly source files this emits the data for
836 // When generating dwarf for assembly source files this emits the Dwarf
842 // Create the dwarf sections in this order (.debug_line already created).
904 // When generating dwarf for assembly source files this is called when symbol
906 // section that dwarf is being generated for, save the needed info to create
907 // a dwarf label.
911 // We won't create dwarf labels for temporary symbols.
915 // We won't create dwarf labels for symbols in sections that we are not
920 // The dwarf label's name does not have the symbol name's leading
926 // Get the dwarf file number to be used for the dwarf label.
930 // pass it in as for some symbols we won't create a dwarf label.
962 case dwarf::DW_EH_PE_absptr:
963 case dwarf::DW_EH_PE_signed:
965 case dwarf::DW_EH_PE_udata2:
966 case dwarf::DW_EH_PE_sdata2:
968 case dwarf::DW_EH_PE_udata4:
969 case dwarf::DW_EH_PE_sdata4:
971 case dwarf::DW_EH_PE_udata8:
972 case dwarf::DW_EH_PE_sdata8:
1045 case dwarf::DW_EH_PE_absptr: EncStr = "absptr"; break;
1046 case dwarf::DW_EH_PE_omit: EncStr = "omit"; break;
1047 case dwarf::DW_EH_PE_pcrel: EncStr = "pcrel"; break;
1048 case dwarf::DW_EH_PE_udata4: EncStr = "udata4"; break;
1049 case dwarf::DW_EH_PE_udata8: EncStr = "udata8"; break;
1050 case dwarf::DW_EH_PE_sdata4: EncStr = "sdata4"; break;
1051 case dwarf::DW_EH_PE_sdata8: EncStr = "sdata8"; break;
1052 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata4:
1055 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4:
1058 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata8:
1061 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata8:
1064 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata4:
1067 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata4:
1070 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata8:
1073 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata8:
1098 Streamer.EmitIntValue(dwarf::DW_CFA_register, 1);
1104 Streamer.EmitIntValue(dwarf::DW_CFA_GNU_window_save, 1);
1113 Streamer.EmitIntValue(dwarf::DW_CFA_undefined, 1);
1124 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1);
1140 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1);
1158 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1);
1180 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1);
1188 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1);
1193 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1);
1203 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1);
1207 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1);
1212 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1);
1223 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1);
1309 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4);
1315 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr);
1395 "DWARF 2 encodes return_address_register in one byte");
1486 IsEH ? MOFI->getFDEEncoding() : (unsigned)dwarf::DW_EH_PE_absptr;
1664 uint8_t Opcode = dwarf::DW_CFA_advance_loc | AddrDelta;
1667 OS << uint8_t(dwarf::DW_CFA_advance_loc1);
1671 OS << uint8_t(dwarf::DW_CFA_advance_loc2);
1677 OS << uint8_t(dwarf::DW_CFA_advance_loc4);