Home | History | Annotate | Download | only in MC

Lines Matching full:dwarf

94     // Create a new MCLineSection.  This will be deleted after the dwarf line
128 // This emits the Dwarf line table for the specified section from the entries
141 // Loop through each MCLineEntry and encode the dwarf line number table.
148 MCOS->EmitIntValue(dwarf::DW_LNS_set_file, 1);
153 MCOS->EmitIntValue(dwarf::DW_LNS_set_column, 1);
158 MCOS->EmitIntValue(dwarf::DW_LNS_set_isa, 1);
163 MCOS->EmitIntValue(dwarf::DW_LNS_negate_stmt, 1);
166 MCOS->EmitIntValue(dwarf::DW_LNS_set_basic_block, 1);
168 MCOS->EmitIntValue(dwarf::DW_LNS_set_prologue_end, 1);
170 MCOS->EmitIntValue(dwarf::DW_LNS_set_epilogue_begin, 1);
201 // Switch back the the dwarf line section.
210 // This emits the Dwarf file and the line tables.
230 // Next 2 bytes is the Version, which is Dwarf 2.
347 /// Utility function to encode a Dwarf pair of LineDelta and AddrDeltas.
361 OS << char(dwarf::DW_LNS_const_add_pc);
363 OS << char(dwarf::DW_LNS_advance_pc);
366 OS << char(dwarf::DW_LNS_extended_op);
368 OS << char(dwarf::DW_LNE_end_sequence);
378 OS << char(dwarf::DW_LNS_advance_line);
388 OS << char(dwarf::DW_LNS_copy);
407 OS << char(dwarf::DW_LNS_const_add_pc);
414 OS << char(dwarf::DW_LNS_advance_pc);
418 OS << char(dwarf::DW_LNS_copy);
437 // When generating dwarf for assembly source files this emits
445 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_compile_unit);
446 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
447 EmitAbbrev(MCOS, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_data4);
448 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
449 EmitAbbrev(MCOS, dwarf::DW_AT_high_pc, dwarf::DW_FORM_addr);
450 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
451 EmitAbbrev(MCOS, dwarf::DW_AT_comp_dir, dwarf::DW_FORM_string);
454 EmitAbbrev(MCOS, dwarf::DW_AT_APPLE_flags, dwarf::DW_FORM_string);
455 EmitAbbrev(MCOS, dwarf::DW_AT_producer, dwarf::DW_FORM_string);
456 EmitAbbrev(MCOS, dwarf::DW_AT_language, dwarf::DW_FORM_data2);
461 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_label);
462 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
463 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
464 EmitAbbrev(MCOS, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data4);
465 EmitAbbrev(MCOS, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data4);
466 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
467 EmitAbbrev(MCOS, dwarf::DW_AT_prototyped, dwarf::DW_FORM_flag);
472 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_unspecified_parameters);
473 MCOS->EmitIntValue(dwarf::DW_CHILDREN_no, 1);
480 // When generating dwarf for assembly source files this emits the data for
487 // Create a symbol at the end of the section that we are creating the dwarf
547 // When generating dwarf for assembly source files this emits the data for
570 // The 2 byte DWARF version, which is 2.
642 MCOS->EmitIntValue(dwarf::DW_LANG_Mips_Assembler, 2);
646 // Loop on saved info for dwarf labels and create the DIEs for them.
682 // for the dwarf labels.
698 // When generating dwarf for assembly source files this emits the Dwarf
702 // Create the dwarf sections in this order (.debug_line already created).
732 // When generating dwarf for assembly source files this is called when symbol
734 // section that dwarf is being generated for, save the needed info to create
735 // a dwarf label.
739 // We won't create dwarf labels for temporary symbols or symbols not in
747 // The dwarf label's name does not have the symbol name's leading
753 // Get the dwarf file number to be used for the dwarf label.
757 // pass it in as for some symbols we won't create a dwarf label.
790 case dwarf::DW_EH_PE_absptr:
791 case dwarf::DW_EH_PE_signed:
793 case dwarf::DW_EH_PE_udata2:
794 case dwarf::DW_EH_PE_sdata2:
796 case dwarf::DW_EH_PE_udata4:
797 case dwarf::DW_EH_PE_sdata4:
799 case dwarf::DW_EH_PE_udata8:
800 case dwarf::DW_EH_PE_sdata8:
883 case dwarf::DW_EH_PE_absptr: EncStr = "absptr"; break;
884 case dwarf::DW_EH_PE_omit: EncStr = "omit"; break;
885 case dwarf::DW_EH_PE_pcrel: EncStr = "pcrel"; break;
886 case dwarf::DW_EH_PE_udata4: EncStr = "udata4"; break;
887 case dwarf::DW_EH_PE_udata8: EncStr = "udata8"; break;
888 case dwarf::DW_EH_PE_sdata4: EncStr = "sdata4"; break;
889 case dwarf::DW_EH_PE_sdata8: EncStr = "sdata8"; break;
890 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata4:
893 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4:
896 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata8:
899 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata8:
902 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata4:
905 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata4:
908 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata8:
911 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata8:
938 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1);
941 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1);
960 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1);
974 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1);
982 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1);
987 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1);
997 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1);
1001 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1);
1006 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1);
1017 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1);
1106 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4);
1113 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr);
1166 streamer.EmitIntValue(dwarf::DW_CIE_VERSION, 1);
1301 (unsigned)dwarf::DW_EH_PE_absptr;
1442 uint8_t Opcode = dwarf::DW_CFA_advance_loc | AddrDelta;
1445 OS << uint8_t(dwarf::DW_CFA_advance_loc1);
1449 OS << uint8_t(dwarf::DW_CFA_advance_loc2);
1455 OS << uint8_t(dwarf::DW_CFA_advance_loc4);