#include <stdio.h>#include <elf_stuff.h>#include <elfaccess.h>#include <libelf/libelf.h>#include <libdwarf/libdwarf.h>#include <vector>#include <alloca.h>#include "defs.h"#include "erglob.h"#include "glob.h"#include "flags.h"#include "tracing.h"#include "util.h"#include "config.h"#include "config_asm.h"#include "config_list.h"#include "config_debug.h"#include "cgir.h"#include "mempool.h"#include "tn_set.h"#include "srcpos.h"#include "em_elf.h"#include "em_dwarf.h"#include "targ_const.h"#include "calls.h"#include "stblock.h"#include "data_layout.h"#include "dwarf_DST.h"#include "dwarf_DST_mem.h"#include "const.h"#include "cg.h"#include "cgtarget.h"#include "cgemit.h"#include "cgdwarf.h"#include "label_util.h"#include "vstring.h"#include "cgemit_targ.h"#include "cgdwarf_targ.h"#include "be_symtab.h"

Go to the source code of this file.
| #define GLOBAL_LEVEL 0 |
Definition at line 130 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Begin(), Traverse_Extra_DST(), and Traverse_Global_DST().
| #define LIBDWARF_SORTS_RELOCS |
Definition at line 60 of file cgdwarf.cxx.
| #define LOCAL_LEVEL 1 |
Definition at line 131 of file cgdwarf.cxx.
Referenced by Traverse_Extra_DST(), and Traverse_Global_DST().
Definition at line 402 of file cgdwarf.cxx.
Referenced by put_array_type(), put_class_type(), put_compile_unit(), put_enumeration_type(), put_formal_parameter(), put_member(), put_structure_type(), put_subprogram(), put_subroutine_type(), put_union_type(), put_variable(), and Write_Attributes().
| #define USE_STANDARD_TYPES 1 |
Definition at line 77 of file cgdwarf.cxx.
| enum which_pb |
Definition at line 458 of file cgdwarf.cxx.
Definition at line 2920 of file cgdwarf.cxx.
References include_info::already_processed, file_info::already_processed, Assembly, CGEMIT_Prn_File_Dir_In_Asm(), CGEMIT_Prn_Line_Dir_In_Asm(), DevWarn, Em_Dwarf_Add_File(), Em_Dwarf_Add_Include(), Em_Dwarf_Add_Line_Entry(), file_size, filename, file_info::incl_index, INST_BYTES, INT, last_srcpos, List_Source, NULL, Object_Code, print_source(), TRUE, USRCPOS_filenum, and USRCPOS_srcpos.
Referenced by EMT_Assemble_BB(), and r_assemble_op().
Definition at line 2585 of file cgdwarf.cxx.
References Cg_Dwarf_Enter_Elfsym(), CG_emit_unwind_info, CGD_ELFSYM, CGD_Symtab, Disable_DST, DST_get_compile_unit(), DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_tag, DW_LANG_C_plus_plus, Dwarf_Language, Em_Dwarf_Begin(), Get_Dwarf_Language(), get_ref_die(), Get_Trace(), GLOBAL_LEVEL, Set_Enclosing_Die(), TP_EMIT, Trace_Dwarf, and Write_Attributes().
Referenced by EMT_Begin_File().
| Dwarf_Unsigned Cg_Dwarf_Enter_Elfsym | ( | Elf64_Word | index | ) |
Definition at line 311 of file cgdwarf.cxx.
References Cg_Dwarf_Symtab_Entry(), and CGD_ELFSYM.
Referenced by Cg_Dwarf_Begin().
Definition at line 2624 of file cgdwarf.cxx.
References Disable_DST, and Traverse_Extra_DST().
Referenced by EMT_End_File().
Definition at line 2649 of file cgdwarf.cxx.
References include_info::already_processed, file_info::already_processed, Asm_File, count, Debug_Level, DST_DIR_IDX_TO_PTR, DST_FILE_IDX_TO_PTR, DST_FILE_NAME_dir, DST_FILE_NAME_modt, DST_FILE_NAME_name, DST_FILE_NAME_next, DST_FILE_NAME_size, DST_get_file_names(), DST_get_include_dirs(), DST_INCLUDE_DIR_next, DST_INCLUDE_DIR_path, DST_IS_NULL, DST_STR_IDX_TO_PTR, EC_No_Mem, ErrMsg(), FALSE, file_info::file_size, file_table_size, file_info::filename, file_info::fileptr, fprintf(), idx, file_info::incl_index, incl_table_size, INT, malloc, file_info::max_line_printed, file_info::mod_time, NULL, include_info::path_name, and realloc.
Referenced by EMT_Begin_File().
| char* Cg_Dwarf_Name_From_Handle | ( | Dwarf_Unsigned | idx | ) |
Definition at line 387 of file cgdwarf.cxx.
References CGD_ELFSYM, CGD_Symtab, Em_Get_Symbol_Name(), index(), Index_To_Str(), and Is_True.
Referenced by Cg_Dwarf_Output_Asm_Bytes_Sym_Relocs().
| static void Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs | ( | FILE * | asm_file, | |
| const char * | section_name, | |||
| Elf64_Word | section_type, | |||
| Elf64_Word | section_flags, | |||
| Elf64_Word | section_entsize, | |||
| Elf64_Word | section_align, | |||
| Dwarf_Signed | buffer_cnt, | |||
| scn_handle ** | buffers, | |||
| Elf64_Word | reloc_scn_type, | |||
| Dwarf_Ptr | reloc_buffer, | |||
| Dwarf_Unsigned | reloc_buffer_size, | |||
| BOOL | is_64bit | |||
| ) | [static] |
Definition at line 3406 of file cgdwarf.cxx.
References AS_ADDRESS, CG_emit_non_gas_syntax, CGEMIT_Prn_Scn_In_Asm(), Check_Dwarf_Rel(), Check_Dwarf_Rela(), check_reloc_fmt_and_size(), compute_buffer_net_size(), Em_Get_Symbol_Name(), exit(), fflush(), FmtAssert, fprintf(), fputc(), NULL, Elf64_AltRela::r_addend, reloc_offset(), reloc_sym_index(), SHT_REL, SHT_RELA, UINT, UINT32, UINT64, and Use_32_Bit_Pointers.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf().
| static void Cg_Dwarf_Output_Asm_Bytes_Sym_Relocs | ( | FILE * | asm_file, | |
| const char * | section_name, | |||
| Elf64_Word | section_type, | |||
| Elf64_Word | section_flags, | |||
| Elf64_Word | section_entsize, | |||
| Elf64_Word | section_align, | |||
| Dwarf_Signed | buffer_cnt, | |||
| scn_handle ** | buffers, | |||
| Dwarf_Relocation_Data | reloc_buffer, | |||
| Dwarf_Unsigned | reloc_count, | |||
| BOOL | is_64bit | |||
| ) | [static] |
Definition at line 3577 of file cgdwarf.cxx.
References alignment, alloca, AS_ADDRESS, AS_ADDRESS_UNALIGNED, AS_ALIGN, AS_WORD_UNALIGNED, BZERO, Cg_Dwarf_Name_From_Handle(), CG_emit_non_gas_syntax, CGEMIT_Prn_Scn_In_Asm(), compute_buffer_net_size(), Dwarf_Relocation_Data_s::drd_length, dwarf_drt_cie_label, dwarf_drt_data_reloc, dwarf_drt_data_reloc_by_str_id, dwarf_drt_first_of_length_pair, dwarf_drt_first_of_length_pair_create_second, dwarf_drt_none, dwarf_drt_second_of_length_pair, dwarf_drt_segment_rel, EH_FRAME_SECTNAME, Fail_FmtAssertion(), fflush(), FmtAssert, fprintf(), fputc(), fputs(), Gen_PIC_Call_Shared, Gen_PIC_Shared, INT, Is_True, length, NULL, pos(), sprintf(), Str_Table, strcmp(), strcpy, strlen(), tolower(), UINT, UINT64, and Use_32_Bit_Pointers.
Referenced by Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
| void Cg_Dwarf_Process_PU | ( | Elf64_Word | scn_index, | |
| LABEL_IDX | begin_label, | |||
| LABEL_IDX | end_label, | |||
| INT32 | end_offset, | |||
| ST * | PU_st, | |||
| DST_IDX | pu_dst, | |||
| Elf64_Word | eh_index, | |||
| INT | eh_offset, | |||
| INT | low_pc, | |||
| INT | high_pc | |||
| ) |
Definition at line 2326 of file cgdwarf.cxx.
References BOOL, Build_Fde_For_Proc(), Cg_Dwarf_Symtab_Entry(), CGD_ELFSYM, CGD_LABIDX, cur_text_index, Current_PU_Stack_Model, DevWarn, Disable_DST, DST_ATTR_IDX_TO_PTR, DST_INFO_attributes, DST_INFO_dieptr, DST_INFO_IDX_TO_PTR, DST_INFO_tag, DST_IS_NULL, DW_AT_calling_convention, DW_AT_frame_base, DW_CC_program, DW_DLX_NO_EH_OFFSET, DW_LANG_C_plus_plus, DW_LANG_Fortran77, DW_LANG_Fortran90, DW_OP_breg4, DW_OP_breg7, DW_OP_bregx, DW_OP_reg5, DW_OP_reg6, DW_TAG_subprogram, dwarf_add_AT_location_expr(), dwarf_add_AT_unsigned_const(), dwarf_add_expr_gen(), Dwarf_Language, dwarf_new_die(), dwarf_new_expr(), Em_Dwarf_Process_PU(), FALSE, FmtAssert, FP_TN, fprintf(), Frame_Len, Get_Trace(), info, INT, Is_Target_64bit, NULL, PU_is_mainpu(), put_concrete_subprogram(), REGION_First_BB, REGISTER_machine_id, SMODEL_SMALL, SP_TN, ST_name, ST_pu(), strncmp(), subprogram_def_is_inlined(), TFile, TN_register, TN_register_class, TP_EMIT, Trace_Dwarf, Traverse_DST(), Traverse_Global_DST(), and TRUE.
Referenced by EMT_Emit_PU().
| Dwarf_Unsigned Cg_Dwarf_Symtab_Entry | ( | CGD_SYMTAB_ENTRY_TYPE | type, | |
| Dwarf_Unsigned | index, | |||
| Dwarf_Unsigned | pu_base_sym_idx, | |||
| PU_IDX | pu, | |||
| char * | label_name, | |||
| Dwarf_Unsigned | last_offset | |||
| ) |
Definition at line 203 of file cgdwarf.cxx.
References CGD_ELFSYM, CGD_LABIDX, CGD_Symtab, CURRENT_SYMTAB, Fail_FmtAssertion(), FmtAssert, fprintf(), Get_Current_PU_ST, Get_Label_Offset(), handle, idx, CGD_SYMTAB_ENTRY::index, Index_To_Str(), INT, LABEL_IDX_level(), CGD_SYMTAB_ENTRY::label_info, LABEL_name_idx(), make_LABEL_IDX(), NULL, p, Save_Str(), ST_pu(), TFile, Trace_Dwarf, CGD_SYMTAB_ENTRY::type, UINT32, UINT64, and vector.
Referenced by Cg_Dwarf_Enter_Elfsym(), Cg_Dwarf_Process_PU(), end_previous_text_region(), put_entry_point(), put_inlined_subroutine(), put_lexical_block(), put_location(), and Setup_Text_Section_For_PU().
| Elf64_Word Cg_Dwarf_Translate_Offset | ( | Dwarf_Unsigned | idx_from_sym_reloc | ) |
Definition at line 331 of file cgdwarf.cxx.
References CGD_LABIDX, CGD_Symtab, fflush(), fprintf(), Get_Label_Offset(), index(), INT64, Is_True, TFile, Trace_Dwarf, and UINT64.
| Elf64_Word Cg_Dwarf_Translate_Symidx | ( | Dwarf_Unsigned | idx_from_sym_reloc | ) |
Definition at line 316 of file cgdwarf.cxx.
References CGD_ELFSYM, CGD_Symtab, fflush(), fprintf(), index(), Is_True, TFile, Trace_Dwarf, and UINT64.
| void Cg_Dwarf_Translate_To_Elf | ( | Dwarf_Unsigned | idx_from_sym_reloc, | |
| Dwarf_Unsigned * | elf_symbol, | |||
| Dwarf_Unsigned * | elf_offset | |||
| ) |
Definition at line 350 of file cgdwarf.cxx.
References CGD_ELFSYM, CGD_LABIDX, CGD_Symtab, Em_Get_Symbol_Name(), fflush(), fprintf(), index(), Is_True, TFile, Trace_Dwarf, and UINT64.
Referenced by EMT_End_File().
Definition at line 3991 of file cgdwarf.cxx.
References Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs(), dwarf_get_section_bytes(), dwarf_reset_section_bytes(), Em_Dwarf_Find_Dwarf_Scn(), Em_Get_Section_Align(), Em_Get_Section_Entsize(), Em_Get_Section_Flags(), Em_Get_Section_Info(), Em_Get_Section_Name(), Em_Get_Section_Type(), exit(), FALSE, FmtAssert, fprintf(), free(), malloc, match_scndx(), memcpy, NULL, qsort(), s, sc_buffer, sc_bufsize, SHT_REL, and SHT_RELA.
| void Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs | ( | FILE * | asm_file, | |
| INT | section_count, | |||
| BOOL | is_64bit | |||
| ) |
Definition at line 4114 of file cgdwarf.cxx.
References Cg_Dwarf_Output_Asm_Bytes_Sym_Relocs(), DEBUG_LINE_SECTNAME, DW_DLV_OK, dwarf_get_relocation_info(), dwarf_get_relocation_info_count(), dwarf_get_section_bytes(), dwarf_reset_section_bytes(), Em_Dwarf_Find_Dwarf_Scn(), Em_Get_Section_Align(), Em_Get_Section_Entsize(), Em_Get_Section_Flags(), Em_Get_Section_Name(), Em_Get_Section_Type(), exit(), FALSE, FmtAssert, fprintf(), fputs(), free(), Is_Dwarf_Section_To_Emit(), Is_True, malloc, match_scndx(), NULL, relocation_section_count, result, s, sc_output, strcmp(), and TRUE.
Referenced by EMT_End_File().
| static void check_reloc_fmt_and_size | ( | Elf64_Word | reloc_scn_type, | |
| Dwarf_Ptr | reloc_buffer, | |||
| Dwarf_Unsigned | reloc_buffer_size, | |||
| Dwarf_Unsigned | scn_buffer_size | |||
| ) | [static] |
| static Dwarf_Unsigned compute_buffer_net_size | ( | Dwarf_Signed | buffer_cnt, | |
| scn_handle ** | buffers | |||
| ) | [static] |
Definition at line 3379 of file cgdwarf.cxx.
References next.
Referenced by Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs(), and Cg_Dwarf_Output_Asm_Bytes_Sym_Relocs().
| static DST_language Get_Dwarf_Language | ( | DST_INFO * | cu_info | ) | [static] |
Definition at line 2575 of file cgdwarf.cxx.
References DST_ATTR_IDX_TO_PTR, DST_COMPILE_UNIT_language, and DST_INFO_attributes.
Referenced by Cg_Dwarf_Begin().
| static Elf64_Word get_elfindex_from_ASSOC_INFO | ( | DST_ASSOC_INFO | assoc_info | ) | [static] |
Definition at line 823 of file cgdwarf.cxx.
References EMT_Put_Elf_Symbol(), and Get_ST_From_DST().
Referenced by put_entry_point().
| static mINT32 get_ofst_from_ASSOC_INFO | ( | DST_ASSOC_INFO | assoc_info | ) | [static] |
| static mINT32 get_ofst_from_label_ASSOC_INFO | ( | DST_ASSOC_INFO | assoc_info | ) | [static] |
Definition at line 841 of file cgdwarf.cxx.
References DST_ASSOC_INFO_st_index, DST_ASSOC_INFO_st_level, FmtAssert, Get_Label_Offset(), lab, LABEL_Table_Size(), NULL, ST_ofst, and St_Table.
Referenced by put_inlined_subroutine(), put_label(), and put_lexical_block().
| static Dwarf_P_Die get_ref_die | ( | DST_INFO_IDX | ref_idx | ) | [static] |
Definition at line 419 of file cgdwarf.cxx.
References DST_idx::block_idx, DST_idx::byte_idx, DST_INFO_dieptr, DST_INFO_IDX_TO_PTR, DST_INFO_tag, dwarf_new_die(), FmtAssert, fprintf(), info, NULL, TFile, and Trace_Dwarf.
Referenced by Cg_Dwarf_Begin(), put_reference(), and put_subprogram().
| static ST* Get_ST_From_DST | ( | DST_ASSOC_INFO | assoc_info | ) | [static] |
Definition at line 405 of file cgdwarf.cxx.
References DST_ASSOC_INFO_st_index, DST_ASSOC_INFO_st_level, FmtAssert, NULL, and St_Table.
Referenced by get_elfindex_from_ASSOC_INFO(), get_ofst_from_ASSOC_INFO(), preorder_visit(), put_location(), put_subprogram(), and Traverse_DST().
| static Dwarf_Signed match_scndx | ( | Elf64_Word | scndx, | |
| scn_handle * | scn_handles, | |||
| Dwarf_Unsigned | section_count, | |||
| scn_handle ** | scn_bufferp | |||
| ) | [static] |
Definition at line 3351 of file cgdwarf.cxx.
References Fail_FmtAssertion(), and sc_scndx.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), and Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
Definition at line 867 of file cgdwarf.cxx.
References Allocate_Object(), Base_Symbol_And_Offset(), FALSE, FP_Sym, Frame_Len, INT64, Is_True, SP_Sym, and ST_name.
Referenced by Build_Fde_For_Proc(), put_location(), update_state(), and Write_INITV().
| static Dwarf_P_Die preorder_visit | ( | DST_INFO_IDX | idx, | |
| Dwarf_P_Die | parent, | |||
| Dwarf_P_Die | left_sibling, | |||
| INT | tree_level, | |||
| BOOL | visit_children | |||
| ) | [static] |
Definition at line 2012 of file cgdwarf.cxx.
References DST_idx::block_idx, DST_idx::byte_idx, DST_ATTR_IDX_TO_PTR, DST_first_child(), DST_INFO_attributes, DST_INFO_dieptr, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_INLINED_SUBROUTINE_abstract_origin, DST_IS_declaration, DST_IS_FOREIGN_OBJ, DST_IS_NULL, DST_SUBPROGRAM_def_st, DW_TAG_entry_point, DW_TAG_inlined_subroutine, DW_TAG_subprogram, dwarf_die_link(), dwarf_new_die(), FALSE, fprintf(), Get_ST_From_DST(), info, NULL, ST_is_not_used, tag, TFile, Trace_Dwarf, and Write_Attributes().
Referenced by Traverse_DST(), Traverse_Extra_DST(), and Traverse_Global_DST().
Definition at line 2825 of file cgdwarf.cxx.
References ASM_CMNT_LINE, Asm_File, cur_file, fclose(), fgets(), file_info::filename, file_info::fileptr, fopen, fprintf(), i, file_info::incl_index, INT, file_info::max_line_printed, NULL, include_info::path_name, sprintf(), strlen(), USRCPOS_filenum, USRCPOS_linenum, and USRCPOS_srcpos.
Referenced by Cg_Dwarf_Add_Line_Entry(), dV_tree_stmt(), ir_put_stmt(), and WN_TREE_put_stmt().
| static void put_array_type | ( | DST_flag | flag, | |
| DST_ARRAY_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1441 of file cgdwarf.cxx.
References DST_ARRAY_TYPE_byte_size, DST_ARRAY_TYPE_decl, DST_ARRAY_TYPE_name, DST_ARRAY_TYPE_type, DST_IS_declaration, DW_AT_byte_size, DW_AT_declaration, DW_AT_GNU_vector, DW_AT_type, dwarf_add_AT_unsigned_const(), pb_typename, put_decl(), put_flag, put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_basetype | ( | DST_flag | flag, | |
| DST_BASETYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1370 of file cgdwarf.cxx.
References DST_BASETYPE_byte_size, DST_BASETYPE_encoding, DST_BASETYPE_name, DW_AT_byte_size, DW_AT_encoding, dwarf_add_AT_unsigned_const(), pb_none, and put_name().
Referenced by Write_Attributes().
| static void put_class_type | ( | DST_flag | flag, | |
| DST_CLASS_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1547 of file cgdwarf.cxx.
References DST_CLASS_TYPE_byte_size, DST_CLASS_TYPE_decl, DST_CLASS_TYPE_name, DST_IS_declaration, DW_AT_byte_size, DW_AT_declaration, dwarf_add_AT_unsigned_const(), pb_none, pb_typename, put_decl(), put_flag, and put_name().
Referenced by Write_Attributes().
| static void put_common_block | ( | DST_flag | flag, | |
| DST_COMMON_BLOCK * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1755 of file cgdwarf.cxx.
References DST_COMMON_BLOCK_name, DST_COMMON_BLOCK_st, DW_AT_location, pb_none, put_location(), and put_name().
Referenced by Write_Attributes().
| static void put_common_inclusion | ( | DST_flag | flag, | |
| DST_COMMON_INCL * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1762 of file cgdwarf.cxx.
References DST_COMMON_INCL_com_blk, DST_COMMON_INCL_decl, DW_AT_common_reference, put_decl(), and put_reference().
Referenced by Write_Attributes().
| static void put_compile_unit | ( | DST_COMPILE_UNIT * | attr, | |
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 624 of file cgdwarf.cxx.
References Debug_Level, DEBUG_Optimize_Space, DST_COMPILE_UNIT_comp_dir, DST_COMPILE_UNIT_identifier_case, DST_COMPILE_UNIT_language, DST_COMPILE_UNIT_name, DST_COMPILE_UNIT_producer, DST_IS_NULL, DST_STR_IDX_TO_PTR, DW_AT_comp_dir, DW_AT_identifier_case, DW_AT_language, DW_AT_MIPS_has_inlines, DW_AT_producer, dwarf_add_AT_string(), dwarf_add_AT_unsigned_const(), File_info, FILE_INFO_has_inlines, NULL, pb_none, put_flag, put_name(), and put_string().
Referenced by Write_Attributes().
| static void put_concrete_subprogram | ( | DST_INFO_IDX | abstract_idx, | |
| INT32 | low_pc, | |||
| INT32 | high_pc, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1211 of file cgdwarf.cxx.
References DW_AT_abstract_origin, DW_AT_high_pc, DW_AT_low_pc, and put_reference().
Referenced by Cg_Dwarf_Process_PU().
| static void put_const_attribute | ( | DST_CONST_VALUE | cval, | |
| Dwarf_Half | ref_attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 541 of file cgdwarf.cxx.
References DST_CONST_VALUE_form, DST_CONST_VALUE_form_data1, DST_CONST_VALUE_form_data2, DST_CONST_VALUE_form_data4, DST_CONST_VALUE_form_data8, DST_CONST_VALUE_form_string, DST_FORM_DATA1, DST_FORM_DATA2, DST_FORM_DATA4, DST_FORM_DATA8, DST_FORM_STRING, dwarf_add_AT_unsigned_const(), dwf_add_AT_complex_const(), dwf_add_AT_unsigned_const_ext(), and put_string().
Referenced by put_constant(), put_enumerator(), put_template_value_param(), and put_variable().
| static void put_const_type | ( | DST_flag | flag, | |
| DST_CONST_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1381 of file cgdwarf.cxx.
References DST_CONST_TYPE_type, DW_AT_type, and put_reference().
Referenced by Write_Attributes().
| static void put_constant | ( | DST_flag | flag, | |
| DST_CONSTANT * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1314 of file cgdwarf.cxx.
References DST_CONSTANT_def_cval, DST_CONSTANT_def_decl, DST_CONSTANT_def_name, DST_CONSTANT_def_type, DST_IS_declaration, DW_AT_const_value, DW_AT_type, FmtAssert, pb_none, put_const_attribute(), put_decl(), put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_decl | ( | USRCPOS | decl, | |
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 526 of file cgdwarf.cxx.
References DW_AT_decl_column, DW_AT_decl_file, DW_AT_decl_line, dwarf_add_AT_unsigned_const(), UINT32, USRCPOS_column, USRCPOS_filenum, and USRCPOS_linenum.
Referenced by put_array_type(), put_class_type(), put_common_inclusion(), put_constant(), put_entry_point(), put_enumeration_type(), put_enumerator(), put_formal_parameter(), put_inlined_subroutine(), put_member(), put_string_type(), put_structure_type(), put_subprogram(), put_subroutine_type(), put_typedef(), put_union_type(), put_unspecified_parameters(), and put_variable().
| static void put_dopetype | ( | DST_INFO_IDX | dope_idx, | |
| DST_flag | flag, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 604 of file cgdwarf.cxx.
References DST_IS_allocatable, DST_IS_assumed_shape, DST_IS_f90_pointer, DW_AT_MIPS_allocatable_dopetype, DW_AT_MIPS_assumed_shape_dopetype, DW_AT_MIPS_ptr_dopetype, and put_reference().
Referenced by put_formal_parameter(), put_member(), and put_variable().
| static void put_entry_point | ( | DST_flag | flag, | |
| DST_ENTRY_POINT * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1743 of file cgdwarf.cxx.
References Cg_Dwarf_Symtab_Entry(), CGD_ELFSYM, DST_ENTRY_POINT_decl, DST_ENTRY_POINT_name, DST_ENTRY_POINT_st, DST_ENTRY_POINT_type, DW_AT_low_pc, DW_AT_type, dwarf_add_AT_targ_address_b(), get_elfindex_from_ASSOC_INFO(), pb_pubname, put_decl(), put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_enumeration_type | ( | DST_flag | flag, | |
| DST_ENUMERATION_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1706 of file cgdwarf.cxx.
References DST_ENUMERATION_TYPE_byte_size, DST_ENUMERATION_TYPE_decl, DST_ENUMERATION_TYPE_name, DST_IS_declaration, DW_AT_byte_size, DW_AT_declaration, dwarf_add_AT_unsigned_const(), pb_typename, put_decl(), put_flag, and put_name().
Referenced by Write_Attributes().
| static void put_enumerator | ( | DST_flag | flag, | |
| DST_ENUMERATOR * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1721 of file cgdwarf.cxx.
References DST_ENUMERATOR_cval, DST_ENUMERATOR_decl, DST_ENUMERATOR_name, DW_AT_const_value, pb_typename, put_const_attribute(), put_decl(), and put_name().
Referenced by Write_Attributes().
| static void put_formal_parameter | ( | DST_flag | flag, | |
| DST_FORMAL_PARAMETER * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1324 of file cgdwarf.cxx.
References DST_FORMAL_PARAMETER_abstract_origin, DST_FORMAL_PARAMETER_decl, DST_FORMAL_PARAMETER_default_val, DST_FORMAL_PARAMETER_dopetype, DST_FORMAL_PARAMETER_name, DST_FORMAL_PARAMETER_st, DST_FORMAL_PARAMETER_type, DST_IS_assumed_size, DST_IS_declaration, DST_IS_FOREIGN_OBJ, DST_IS_optional_parm, DST_IS_variable_parm, DW_AT_abstract_origin, DW_AT_declaration, DW_AT_default_value, DW_AT_is_optional, DW_AT_location, DW_AT_MIPS_assumed_size, DW_AT_type, DW_AT_variable_parameter, pb_none, put_decl(), put_dopetype(), put_flag, put_location(), put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_inheritance | ( | DST_flag | flag, | |
| DST_INHERITANCE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1660 of file cgdwarf.cxx.
References DST_INHERITANCE_memb_loc, DST_INHERITANCE_type, DST_INHERITANCE_virtuality, DW_AT_accessibility, DW_AT_data_member_location, DW_AT_type, DW_AT_virtuality, DW_OP_consts, DW_OP_deref, DW_OP_dup, DW_OP_lit0, DW_OP_minus, DW_OP_plus, DW_OP_plus_uconst, DW_VIRTUALITY_none, dwarf_add_AT_location_expr(), dwarf_add_AT_unsigned_const(), dwarf_add_expr_gen(), dwarf_new_expr(), NULL, and put_reference().
Referenced by Write_Attributes().
| static void put_inlined_subroutine | ( | DST_INLINED_SUBROUTINE * | attr, | |
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1169 of file cgdwarf.cxx.
References Cg_Dwarf_Symtab_Entry(), CGD_LABIDX, cur_text_index, DST_ASSOC_INFO_st_index, DST_INLINED_SUBROUTINE_abstract_name, DST_INLINED_SUBROUTINE_abstract_origin, DST_INLINED_SUBROUTINE_decl, DST_INLINED_SUBROUTINE_high_pc, DST_INLINED_SUBROUTINE_low_pc, DST_IS_FOREIGN_OBJ, DST_LEXICAL_BLOCK_high_pc, DST_LEXICAL_BLOCK_low_pc, DW_AT_abstract_origin, DW_AT_high_pc, DW_AT_low_pc, DW_AT_MIPS_abstract_name, get_ofst_from_label_ASSOC_INFO(), put_decl(), put_pc_value_symbolic(), put_reference(), and put_string().
Referenced by Write_Attributes().
| static void put_label | ( | DST_flag | flag, | |
| DST_LABEL * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1224 of file cgdwarf.cxx.
References cur_text_index, DST_LABEL_low_pc, DST_LABEL_name, DW_AT_low_pc, dwarf_add_AT_targ_address_b(), get_ofst_from_label_ASSOC_INFO(), pb_none, and put_name().
Referenced by Write_Attributes().
| static void put_lexical_block | ( | DST_flag | flag, | |
| DST_LEXICAL_BLOCK * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1142 of file cgdwarf.cxx.
References Cg_Dwarf_Symtab_Entry(), CGD_LABIDX, cur_text_index, DST_ASSOC_INFO_st_index, DST_LEXICAL_BLOCK_high_pc, DST_LEXICAL_BLOCK_low_pc, DST_LEXICAL_BLOCK_name, DW_AT_high_pc, DW_AT_low_pc, get_ofst_from_label_ASSOC_INFO(), pb_none, put_name(), and put_pc_value_symbolic().
Referenced by Write_Attributes().
| static void put_location | ( | DST_ASSOC_INFO | assoc_info, | |
| INT | offs, | |||
| DST_flag | flag, | |||
| Dwarf_P_Die | die, | |||
| Dwarf_Half | loc_attr | |||
| ) | [static] |
Definition at line 891 of file cgdwarf.cxx.
References Allocate_Object(), Base_Symbol_And_Offset(), BE_ST_referenced(), BOOL, Cg_Dwarf_Symtab_Entry(), CGD_ELFSYM, CLASS_BLOCK, CLASS_NAME, DST_IS_base_deref, DST_IS_deref, DW_ADDR_none, DW_AT_address_class, DW_OP_deref, DW_OP_fbreg, DW_OP_plus_uconst, dwarf_add_AT_location_expr(), dwarf_add_AT_unsigned_const(), dwarf_add_expr_addr_b(), dwarf_add_expr_gen(), dwarf_new_expr(), EC_Unimplemented, EMT_Put_Elf_Symbol(), ErrMsg(), EXPORT_LOCAL, EXPORT_LOCAL_INTERNAL, FALSE, FP_Sym, fprintf(), Get_ST_formal_ref_base(), Get_ST_From_DST(), INT, INT64, NULL, Offset_from_FP(), SCLASS_AUTO, SCLASS_COMMON, SCLASS_CPLINIT, SCLASS_DGLOBAL, SCLASS_EH_REGION, SCLASS_EH_REGION_SUPP, SCLASS_EXTERN, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_PSTATIC, SCLASS_UGLOBAL, SCLASS_UNKNOWN, SP_Sym, ST_class, ST_export, ST_is_not_used, ST_name, ST_ofst, ST_sclass, ST_sym_class(), strncmp(), TFile, Trace_Dwarf, and TRUE.
Referenced by put_common_block(), put_formal_parameter(), put_string_type(), and put_variable().
| static void put_lower_bound | ( | DST_flag | flag, | |
| DST_SUBRANGE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1464 of file cgdwarf.cxx.
References DST_IS_lb_cval, DST_SUBRANGE_TYPE_lower_cval, DST_SUBRANGE_TYPE_lower_ref, DW_AT_lower_bound, DW_LANG_C, DW_LANG_C89, DW_LANG_C_plus_plus, DW_LANG_Fortran77, DW_LANG_Fortran90, dwarf_add_AT_signed_const(), Dwarf_Language, and put_reference().
Referenced by put_subrange_type().
| static void put_member | ( | DST_flag | flag, | |
| DST_MEMBER * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1578 of file cgdwarf.cxx.
References DST_IS_bitfield, DST_IS_declaration, DST_IS_deref, DST_MEMBER_bit_offset, DST_MEMBER_bit_size, DST_MEMBER_byte_size, DST_MEMBER_decl, DST_MEMBER_dopetype, DST_MEMBER_memb_loc, DST_MEMBER_name, DST_MEMBER_type, DW_AT_accessibility, DW_AT_bit_offset, DW_AT_bit_size, DW_AT_byte_size, DW_AT_data_member_location, DW_AT_declaration, DW_AT_type, DW_LANG_C_plus_plus, DW_LANG_Fortran90, DW_OP_consts, DW_OP_deref, DW_OP_plus, DW_OP_plus_uconst, dwarf_add_AT_location_expr(), dwarf_add_AT_unsigned_const(), dwarf_add_expr_gen(), Dwarf_Language, dwarf_new_expr(), NULL, pb_none, put_decl(), put_dopetype(), put_flag, put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_name | ( | DST_STR_IDX | str_idx, | |
| Dwarf_P_Die | die, | |||
| which_pb | pb_type | |||
| ) | [static] |
Definition at line 509 of file cgdwarf.cxx.
References DST_IS_NULL, DST_STR_IDX_TO_PTR, DW_AT_name, fprintf(), put_pubname(), put_string(), TFile, and Trace_Dwarf.
Referenced by put_array_type(), put_basetype(), put_class_type(), put_common_block(), put_compile_unit(), put_constant(), put_entry_point(), put_enumeration_type(), put_enumerator(), put_formal_parameter(), put_label(), put_lexical_block(), put_member(), put_ptr_to_member_type(), put_string_type(), put_structure_type(), put_subprogram(), put_subroutine_type(), put_template_type_param(), put_template_value_param(), put_typedef(), put_union_type(), and put_variable().
| static void put_pc_value_symbolic | ( | Dwarf_Unsigned | pc_attr, | |
| Dwarf_Unsigned | pc_label, | |||
| Dwarf_Addr | pc_offset, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1114 of file cgdwarf.cxx.
References dwarf_add_AT_targ_address_b().
Referenced by put_inlined_subroutine(), and put_lexical_block().
| static void put_pointer_type | ( | DST_flag | flag, | |
| DST_POINTER_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1395 of file cgdwarf.cxx.
References DST_POINTER_TYPE_address_class, DST_POINTER_TYPE_byte_size, DST_POINTER_TYPE_type, DW_AT_address_class, DW_AT_byte_size, DW_AT_type, dwarf_add_AT_unsigned_const(), and put_reference().
Referenced by Write_Attributes().
| static void put_ptr_to_member_type | ( | DST_flag | flag, | |
| DST_PTR_TO_MEMBER_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1430 of file cgdwarf.cxx.
References DST_PTR_TO_MEMBER_TYPE_class_type, DST_PTR_TO_MEMBER_TYPE_name, DST_PTR_TO_MEMBER_TYPE_type, DW_AT_containing_type, DW_AT_type, pb_typename, put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_pubname | ( | char * | name, | |
| Dwarf_P_Die | die, | |||
| which_pb | pb_type | |||
| ) | [static] |
Definition at line 472 of file cgdwarf.cxx.
References Debug_Level, dwarf_add_funcname(), dwarf_add_pubname(), dwarf_add_typename(), dwarf_add_varname(), dwarf_add_weakname(), pb_funcname, pb_pubname, pb_typename, pb_varname, and pb_weakname.
Referenced by put_name(), and put_subprogram().
| static void put_reference | ( | DST_INFO_IDX | ref_idx, | |
| Dwarf_Half | ref_attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 443 of file cgdwarf.cxx.
References DST_IS_FOREIGN_OBJ, DST_IS_NULL, dwarf_add_AT_reference(), FmtAssert, and get_ref_die().
Referenced by put_array_type(), put_common_inclusion(), put_concrete_subprogram(), put_const_type(), put_constant(), put_dopetype(), put_entry_point(), put_formal_parameter(), put_inheritance(), put_inlined_subroutine(), put_lower_bound(), put_member(), put_pointer_type(), put_ptr_to_member_type(), put_reference_type(), put_subprogram(), put_subrange_type(), put_subroutine_type(), put_template_type_param(), put_template_value_param(), put_typedef(), put_variable(), and put_volatile_type().
| static void put_reference_type | ( | DST_flag | flag, | |
| DST_REFERENCE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1406 of file cgdwarf.cxx.
References DST_REFERENCE_TYPE_address_class, DST_REFERENCE_TYPE_byte_size, DST_REFERENCE_TYPE_type, DW_AT_address_class, DW_AT_byte_size, DW_AT_type, dwarf_add_AT_unsigned_const(), and put_reference().
Referenced by Write_Attributes().
| static void put_string | ( | DST_STR_IDX | str_idx, | |
| Dwarf_Half | str_attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 497 of file cgdwarf.cxx.
References DST_IS_NULL, DST_STR_IDX_TO_PTR, and dwarf_add_AT_string().
Referenced by put_compile_unit(), put_const_attribute(), put_inlined_subroutine(), put_name(), put_subprogram(), and put_variable().
| static void put_string_type | ( | DST_flag | flag, | |
| DST_STRING_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1786 of file cgdwarf.cxx.
References DST_ATTR_IDX_TO_PTR, DST_INFO_attributes, DST_INFO_IDX_TO_PTR, DST_IS_cval, DST_IS_NULL, DST_STRING_TYPE_decl, DST_STRING_TYPE_len_cval, DST_STRING_TYPE_len_ref, DST_STRING_TYPE_name, DST_VARIABLE_def_st, DW_AT_byte_size, DW_AT_string_length, dwarf_add_AT_unsigned_const(), info, pb_none, put_decl(), put_location(), and put_name().
Referenced by Write_Attributes().
| static void put_structure_type | ( | DST_flag | flag, | |
| DST_STRUCTURE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1532 of file cgdwarf.cxx.
References DST_IS_declaration, DST_STRUCTURE_TYPE_byte_size, DST_STRUCTURE_TYPE_decl, DST_STRUCTURE_TYPE_name, DW_AT_byte_size, DW_AT_declaration, dwarf_add_AT_unsigned_const(), pb_typename, put_decl(), put_flag, and put_name().
Referenced by Write_Attributes().
| static void put_subprogram | ( | DST_flag | flag, | |
| DST_SUBPROGRAM * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 674 of file cgdwarf.cxx.
References DST_ATTR_IDX_TO_PTR, DST_first_child(), DST_INFO_attributes, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_IS_declaration, DST_IS_external, DST_IS_memdef, DST_IS_NULL, DST_IS_prototyped, DST_STR_IDX_TO_PTR, DST_SUBPROGRAM_decl_decl, DST_SUBPROGRAM_decl_inline, DST_SUBPROGRAM_decl_linkage_name, DST_SUBPROGRAM_decl_name, DST_SUBPROGRAM_decl_origin, DST_SUBPROGRAM_decl_type, DST_SUBPROGRAM_decl_virtuality, DST_SUBPROGRAM_decl_vtable_elem_location, DST_SUBPROGRAM_def_clone_origin, DST_SUBPROGRAM_def_decl, DST_SUBPROGRAM_def_inline, DST_SUBPROGRAM_def_linkage_name, DST_SUBPROGRAM_def_name, DST_SUBPROGRAM_def_pubname, DST_SUBPROGRAM_def_specification, DST_SUBPROGRAM_def_st, DST_SUBPROGRAM_def_type, DST_SUBPROGRAM_def_virtuality, DST_SUBPROGRAM_def_vtable_elem_location, DST_VARIABLE_decl_type, DST_VARIABLE_def_name, DW_AT_calling_convention, DW_AT_declaration, DW_AT_external, DW_AT_inline, DW_AT_MIPS_clone_origin, DW_AT_MIPS_has_inlines, DW_AT_MIPS_linkage_name, DW_AT_prototyped, DW_AT_specification, DW_AT_type, DW_AT_virtuality, DW_AT_vtable_elem_location, DW_CC_nocall, DW_INL_declared_inlined, DW_INL_inlined, DW_LANG_Fortran77, DW_LANG_Fortran90, DW_OP_const2u, DW_TAG_variable, DW_VIRTUALITY_none, dwarf_add_AT_location_expr(), dwarf_add_AT_unsigned_const(), dwarf_add_expr_gen(), dwarf_add_pubname(), Dwarf_Language, dwarf_new_expr(), EC_Unimplemented, ErrMsg(), Get_Current_PU, get_ref_die(), Get_ST_From_DST(), pb_funcname, pb_none, pb_pubname, pb_weakname, PU_has_inlines, put_decl(), put_flag, put_name(), put_pubname(), put_reference(), put_string(), ST_name, strlen(), strncasecmp(), and subprogram_def_is_inlined().
Referenced by Write_Attributes().
| static void put_subrange_type | ( | DST_flag | flag, | |
| DST_SUBRANGE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1496 of file cgdwarf.cxx.
References DST_IS_count, DST_IS_stride_1byte, DST_IS_stride_2byte, DST_IS_ub_cval, DST_SUBRANGE_TYPE_stride_ref, DST_SUBRANGE_TYPE_upper_cval, DST_SUBRANGE_TYPE_upper_ref, DW_AT_count, DW_AT_MIPS_stride, DW_AT_MIPS_stride_byte, DW_AT_MIPS_stride_elem, DW_AT_upper_bound, dwarf_add_AT_signed_const(), put_lower_bound(), and put_reference().
Referenced by Write_Attributes().
| static void put_subroutine_type | ( | DST_flag | flag, | |
| DST_SUBROUTINE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1730 of file cgdwarf.cxx.
References DST_IS_prototyped, DST_SUBROUTINE_TYPE_decl, DST_SUBROUTINE_TYPE_name, DST_SUBROUTINE_TYPE_type, DW_AT_prototyped, DW_AT_type, pb_typename, put_decl(), put_flag, put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_template_type_param | ( | DST_flag | flag, | |
| DST_TEMPLATE_TYPE_PARAMETER * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1641 of file cgdwarf.cxx.
References DST_TEMPLATE_TYPE_PARAMETER_name, DST_TEMPLATE_TYPE_PARAMETER_type, DW_AT_type, pb_none, put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_template_value_param | ( | DST_flag | flag, | |
| DST_TEMPLATE_VALUE_PARAMETER * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1649 of file cgdwarf.cxx.
References DST_TEMPLATE_VALUE_PARAMETER_cval, DST_TEMPLATE_VALUE_PARAMETER_name, DST_TEMPLATE_VALUE_PARAMETER_type, DW_AT_const_value, DW_AT_type, pb_none, put_const_attribute(), put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_typedef | ( | DST_flag | flag, | |
| DST_TYPEDEF * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1417 of file cgdwarf.cxx.
References DST_TYPEDEF_decl, DST_TYPEDEF_name, DST_TYPEDEF_type, DW_AT_type, pb_typename, put_decl(), put_name(), and put_reference().
Referenced by Write_Attributes().
| static void put_union_type | ( | DST_flag | flag, | |
| DST_UNION_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1563 of file cgdwarf.cxx.
References DST_IS_declaration, DST_UNION_TYPE_byte_size, DST_UNION_TYPE_decl, DST_UNION_TYPE_name, DW_AT_byte_size, DW_AT_declaration, dwarf_add_AT_unsigned_const(), pb_typename, put_decl(), put_flag, and put_name().
Referenced by Write_Attributes().
| static void put_unspecified_parameters | ( | DST_flag | flag, | |
| DST_UNSPECIFIED_PARAMETERS * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1359 of file cgdwarf.cxx.
References DST_UNSPECIFIED_PARAMETERS_decl, and put_decl().
Referenced by Write_Attributes().
| static void put_variable | ( | DST_flag | flag, | |
| DST_VARIABLE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1234 of file cgdwarf.cxx.
References DST_CONSTANT_def_cval, DST_CONSTANT_def_decl, DST_CONSTANT_def_name, DST_CONSTANT_def_type, DST_IS_assumed_size, DST_IS_automatic, DST_IS_comm, DST_IS_const, DST_IS_declaration, DST_IS_external, DST_IS_FOREIGN_OBJ, DST_IS_memdef, DST_IS_NULL, DST_VARIABLE_comm_decl, DST_VARIABLE_comm_dopetype, DST_VARIABLE_comm_name, DST_VARIABLE_comm_offs, DST_VARIABLE_comm_st, DST_VARIABLE_comm_type, DST_VARIABLE_decl_decl, DST_VARIABLE_decl_name, DST_VARIABLE_decl_type, DST_VARIABLE_def_abstract_origin, DST_VARIABLE_def_decl, DST_VARIABLE_def_dopetype, DST_VARIABLE_def_name, DST_VARIABLE_def_offs, DST_VARIABLE_def_specification, DST_VARIABLE_def_st, DST_VARIABLE_def_type, DW_AT_abstract_origin, DW_AT_const_value, DW_AT_declaration, DW_AT_external, DW_AT_location, DW_AT_MIPS_assumed_size, DW_AT_MIPS_linkage_name, DW_AT_specification, DW_AT_type, EC_Unimplemented, ErrMsg(), FmtAssert, INT, pb_none, pb_pubname, pb_varname, put_const_attribute(), put_decl(), put_dopetype(), put_flag, put_location(), put_name(), put_reference(), and put_string().
Referenced by Write_Attributes().
| static void put_volatile_type | ( | DST_flag | flag, | |
| DST_VOLATILE_TYPE * | attr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1388 of file cgdwarf.cxx.
References DST_VOLATILE_TYPE_type, DW_AT_type, and put_reference().
Referenced by Write_Attributes().
| static Elf64_Word reloc_offset | ( | char * | reloc, | |
| BOOL | is_64bit | |||
| ) | [inline, static] |
Definition at line 3046 of file cgdwarf.cxx.
References REL32_offset, and REL_offset.
Referenced by _frvfdpic_add_dyn_reloc(), and Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs().
| static Elf64_Word reloc_sym_index | ( | char * | reloc, | |
| BOOL | is_64bit | |||
| ) | [inline, static] |
Definition at line 3061 of file cgdwarf.cxx.
References REL32_sym, and REL64_sym.
Referenced by Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs().
| static void Set_Enclosing_Die | ( | Dwarf_P_Die | die, | |
| mINT32 | level | |||
| ) | [static] |
Definition at line 1984 of file cgdwarf.cxx.
References calloc(), CGD_enclosing_proc_max, NULL, and realloc.
Referenced by Cg_Dwarf_Begin(), and Traverse_DST().
| static BOOL subprogram_def_is_inlined | ( | DST_SUBPROGRAM * | attr | ) | [static] |
Definition at line 662 of file cgdwarf.cxx.
References DST_SUBPROGRAM_def_inline, DW_INL_declared_inlined, DW_INL_inlined, FALSE, and TRUE.
Referenced by Cg_Dwarf_Process_PU(), put_subprogram(), and Traverse_Extra_DST().
Definition at line 2242 of file cgdwarf.cxx.
References DST_idx::block_idx, BOOL, DST_idx::byte_idx, CURRENT_SYMTAB, DST_ASSOC_INFO_st_index, DST_ASSOC_INFO_st_level, DST_ATTR_IDX_TO_PTR, DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_IS_declaration, DST_IS_info_mark, DST_IS_NULL, DST_SET_info_mark, DST_SUBPROGRAM_def_st, DW_TAG_base_type, DW_TAG_entry_point, DW_TAG_subprogram, DW_TAG_subroutine_type, FmtAssert, fprintf(), Get_Current_PU, Get_ST_From_DST(), idx, info, INT, NULL, preorder_visit(), PU_has_altentry, Pu_Table, Set_Enclosing_Die(), ST_index, ST_level, ST_name, ST_pu(), strcmp(), TFile, Trace_Dwarf, and TRUE.
Referenced by Cg_Dwarf_Process_PU().
Definition at line 2184 of file cgdwarf.cxx.
References BOOL, DST_ATTR_IDX_TO_PTR, DST_first_child(), DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_IS_declaration, DST_IS_info_mark, DST_IS_NULL, DST_SET_info_mark, DW_TAG_entry_point, DW_TAG_subprogram, FALSE, fprintf(), GLOBAL_LEVEL, idx, info, LOCAL_LEVEL, NULL, preorder_visit(), subprogram_def_is_inlined(), TFile, Trace_Dwarf, TRUE, and void.
Referenced by Cg_Dwarf_Finish().
Definition at line 2145 of file cgdwarf.cxx.
References DST_first_child(), DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_IS_NULL, DST_SET_info_mark, DW_TAG_entry_point, DW_TAG_module, DW_TAG_subprogram, fprintf(), GLOBAL_LEVEL, idx, info, LOCAL_LEVEL, NULL, preorder_visit(), TFile, Trace_Dwarf, TRUE, and void.
Referenced by Cg_Dwarf_Process_PU().
| static void Write_Attributes | ( | DST_DW_tag | tag, | |
| DST_flag | flag, | |||
| DST_ATTR_IDX | iattr, | |||
| Dwarf_P_Die | die | |||
| ) | [static] |
Definition at line 1824 of file cgdwarf.cxx.
References DST_ATTR_IDX_TO_PTR, DST_IS_artificial, DW_AT_artificial, DW_TAG_array_type, DW_TAG_base_type, DW_TAG_class_type, DW_TAG_common_block, DW_TAG_common_inclusion, DW_TAG_compile_unit, DW_TAG_const_type, DW_TAG_constant, DW_TAG_entry_point, DW_TAG_enumeration_type, DW_TAG_enumerator, DW_TAG_formal_parameter, DW_TAG_imported_declaration, DW_TAG_inheritance, DW_TAG_inlined_subroutine, DW_TAG_label, DW_TAG_lexical_block, DW_TAG_member, DW_TAG_module, DW_TAG_namelist, DW_TAG_namelist_item, DW_TAG_pointer_type, DW_TAG_ptr_to_member_type, DW_TAG_reference_type, DW_TAG_string_type, DW_TAG_structure_type, DW_TAG_subprogram, DW_TAG_subrange_type, DW_TAG_subroutine_type, DW_TAG_template_type_param, DW_TAG_template_value_param, DW_TAG_typedef, DW_TAG_union_type, DW_TAG_unspecified_parameters, DW_TAG_variable, DW_TAG_volatile_type, dwarf_add_die_to_debug(), EC_Unimplemented, ErrMsg(), put_array_type(), put_basetype(), put_class_type(), put_common_block(), put_common_inclusion(), put_compile_unit(), put_const_type(), put_constant(), put_entry_point(), put_enumeration_type(), put_enumerator(), put_flag, put_formal_parameter(), put_inheritance(), put_inlined_subroutine(), put_label(), put_lexical_block(), put_member(), put_pointer_type(), put_ptr_to_member_type(), put_reference_type(), put_string_type(), put_structure_type(), put_subprogram(), put_subrange_type(), put_subroutine_type(), put_template_type_param(), put_template_value_param(), put_typedef(), put_union_type(), put_unspecified_parameters(), put_variable(), and put_volatile_type().
Referenced by Cg_Dwarf_Begin(), and preorder_visit().
Dwarf_P_Die* CGD_enclosing_proc = NULL [static] |
Definition at line 127 of file cgdwarf.cxx.
mINT32 CGD_enclosing_proc_max = 0 [static] |
| std::vector<CGD_SYMTAB_ENTRY, mempool_allocator<CGD_SYMTAB_ENTRY> > CGD_Symtab |
Definition at line 166 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Begin(), Cg_Dwarf_Name_From_Handle(), Cg_Dwarf_Symtab_Entry(), Cg_Dwarf_Translate_Offset(), Cg_Dwarf_Translate_Symidx(), and Cg_Dwarf_Translate_To_Elf().
DST_INFO_IDX cu_idx [static] |
Definition at line 121 of file cgdwarf.cxx.
Referenced by DST_get_compile_unit(), DST_mk_compile_unit(), and merge_subprograms().
INT cur_file_index = 0 [static] |
Definition at line 2647 of file cgdwarf.cxx.
Referenced by IR_Dwarf_Gen_File_Table(), print_source(), and Print_Src_Line().
Elf64_Word cur_text_index [static] |
Definition at line 122 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Process_PU(), put_inlined_subroutine(), put_label(), and put_lexical_block().
BOOL Disable_DST = FALSE [static] |
Definition at line 120 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Begin(), Cg_Dwarf_Finish(), and Cg_Dwarf_Process_PU().
Dwarf_P_Debug dw_dbg [static] |
Definition at line 118 of file cgdwarf.cxx.
Dwarf_Error dw_error [static] |
DST_language Dwarf_Language [static] |
Definition at line 123 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Begin(), Cg_Dwarf_Process_PU(), put_lower_bound(), put_member(), and put_subprogram().
file_info* file_table [static] |
Definition at line 2645 of file cgdwarf.cxx.
Referenced by encap_write_object_contents(), file_hash_lookup(), and tlink_init().
include_info* incl_table [static] |
Definition at line 2646 of file cgdwarf.cxx.
Referenced by Gen_File_Table(), IR_Dwarf_Gen_File_Table(), ir_print_filename(), IR_Srcpos_Filename(), print_source(), and Print_Src_Line().
Definition at line 3119 of file cgdwarf.cxx.
Definition at line 3120 of file cgdwarf.cxx.
Referenced by Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
Definition at line 116 of file cgdwarf.cxx.
Referenced by Add_Fde_Inst(), Build_Fde_For_Proc(), Cg_Dwarf_Begin(), Cg_Dwarf_Process_PU(), Cg_Dwarf_Symtab_Entry(), Cg_Dwarf_Translate_Offset(), Cg_Dwarf_Translate_Symidx(), Cg_Dwarf_Translate_To_Elf(), Compute_Reg_State(), FDE_dump2asm(), get_ref_die(), preorder_visit(), put_location(), put_name(), Traverse_DST(), Traverse_Extra_DST(), Traverse_Global_DST(), and update_state().
| scn_handle** vsp_buffers |
Definition at line 3139 of file cgdwarf.cxx.
Definition at line 3133 of file cgdwarf.cxx.
Definition at line 3136 of file cgdwarf.cxx.
Definition at line 3124 of file cgdwarf.cxx.
1.5.6