Home | History | Annotate | Download | only in MC

Lines Matching refs:dwarf

95     // Create a new MCLineSection.  This will be deleted after the dwarf line
129 // This emits the Dwarf line table for the specified section from the entries
142 // Loop through each MCLineEntry and encode the dwarf line number table.
149 MCOS->EmitIntValue(dwarf::DW_LNS_set_file, 1);
154 MCOS->EmitIntValue(dwarf::DW_LNS_set_column, 1);
159 MCOS->EmitIntValue(dwarf::DW_LNS_set_isa, 1);
164 MCOS->EmitIntValue(dwarf::DW_LNS_negate_stmt, 1);
167 MCOS->EmitIntValue(dwarf::DW_LNS_set_basic_block, 1);
169 MCOS->EmitIntValue(dwarf::DW_LNS_set_prologue_end, 1);
171 MCOS->EmitIntValue(dwarf::DW_LNS_set_epilogue_begin, 1);
202 // Switch back the dwarf line section.
211 // This emits the Dwarf file and the line tables.
231 // Next 2 bytes is the Version, which is Dwarf 2.
348 /// Utility function to encode a Dwarf pair of LineDelta and AddrDeltas.
362 OS << char(dwarf::DW_LNS_const_add_pc);
364 OS << char(dwarf::DW_LNS_advance_pc);
367 OS << char(dwarf::DW_LNS_extended_op);
369 OS << char(dwarf::DW_LNE_end_sequence);
379 OS << char(dwarf::DW_LNS_advance_line);
389 OS << char(dwarf::DW_LNS_copy);
408 OS << char(dwarf::DW_LNS_const_add_pc);
415 OS << char(dwarf::DW_LNS_advance_pc);
419 OS << char(dwarf::DW_LNS_copy);
440 // When generating dwarf for assembly source files this emits
448 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_compile_unit);
449 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
450 EmitAbbrev(MCOS, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_data4);
451 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
452 EmitAbbrev(MCOS, dwarf::DW_AT_high_pc, dwarf::DW_FORM_addr);
453 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
454 EmitAbbrev(MCOS, dwarf::DW_AT_comp_dir, dwarf::DW_FORM_string);
457 EmitAbbrev(MCOS, dwarf::DW_AT_APPLE_flags, dwarf::DW_FORM_string);
458 EmitAbbrev(MCOS, dwarf::DW_AT_producer, dwarf::DW_FORM_string);
459 EmitAbbrev(MCOS, dwarf::DW_AT_language, dwarf::DW_FORM_data2);
464 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_label);
465 MCOS->EmitIntValue(dwarf::DW_CHILDREN_yes, 1);
466 EmitAbbrev(MCOS, dwarf::DW_AT_name, dwarf::DW_FORM_string);
467 EmitAbbrev(MCOS, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data4);
468 EmitAbbrev(MCOS, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data4);
469 EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
470 EmitAbbrev(MCOS, dwarf::DW_AT_prototyped, dwarf::DW_FORM_flag);
475 MCOS->EmitULEB128IntValue(dwarf::DW_TAG_unspecified_parameters);
476 MCOS->EmitIntValue(dwarf::DW_CHILDREN_no, 1);
483 // When generating dwarf for assembly source files this emits the data for
490 // Create a symbol at the end of the section that we are creating the dwarf
550 // When generating dwarf for assembly source files this emits the data for
573 // The 2 byte DWARF version, which is 2.
645 MCOS->EmitIntValue(dwarf::DW_LANG_Mips_Assembler, 2);
649 // Loop on saved info for dwarf labels and create the DIEs for them.
685 // for the dwarf labels.
701 // When generating dwarf for assembly source files this emits the Dwarf
705 // Create the dwarf sections in this order (.debug_line already created).
735 // When generating dwarf for assembly source files this is called when symbol
737 // section that dwarf is being generated for, save the needed info to create
738 // a dwarf label.
742 // We won't create dwarf labels for temporary symbols or symbols not in
750 // The dwarf label's name does not have the symbol name's leading
756 // Get the dwarf file number to be used for the dwarf label.
760 // pass it in as for some symbols we won't create a dwarf label.
793 case dwarf::DW_EH_PE_absptr:
794 case dwarf::DW_EH_PE_signed:
796 case dwarf::DW_EH_PE_udata2:
797 case dwarf::DW_EH_PE_sdata2:
799 case dwarf::DW_EH_PE_udata4:
800 case dwarf::DW_EH_PE_sdata4:
802 case dwarf::DW_EH_PE_udata8:
803 case dwarf::DW_EH_PE_sdata8:
886 case dwarf::DW_EH_PE_absptr: EncStr = "absptr"; break;
887 case dwarf::DW_EH_PE_omit: EncStr = "omit"; break;
888 case dwarf::DW_EH_PE_pcrel: EncStr = "pcrel"; break;
889 case dwarf::DW_EH_PE_udata4: EncStr = "udata4"; break;
890 case dwarf::DW_EH_PE_udata8: EncStr = "udata8"; break;
891 case dwarf::DW_EH_PE_sdata4: EncStr = "sdata4"; break;
892 case dwarf::DW_EH_PE_sdata8: EncStr = "sdata8"; break;
893 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata4:
896 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4:
899 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata8:
902 case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata8:
905 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata4:
908 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata4:
911 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_udata8:
914 case dwarf::DW_EH_PE_indirect |dwarf::DW_EH_PE_pcrel|dwarf::DW_EH_PE_sdata8:
941 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1);
944 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1);
963 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1);
977 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1);
985 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1);
990 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1);
1000 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1);
1004 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1);
1009 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1);
1020 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1);
1109 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4);
1116 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr);
1169 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);