-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parser for DWARF debug format. -- -- Parser for DWARF debug format. @package dwarf @version 0.21 -- | Parses the DWARF 2 and DWARF 3 specifications at -- http:www.dwarfstd.org given the debug sections in ByteString -- form. module Data.Dwarf -- | Parses the .debug_info section (as ByteString) using the .debug_abbrev -- and .debug_str sections. parseDwarfInfo :: Bool -> ByteString -> ByteString -> ByteString -> Map Word64 DIE -- | Parses the .debug_aranges section (as ByteString) into a map from an -- address range to a debug info id that indexes the DwarfInfo. parseDwarfAranges :: Bool -> Bool -> ByteString -> [([(Word64, Word64)], Word64)] -- | Parses the .debug_pubnames section (as ByteString) into a map from a -- value name to a debug info id in the DwarfInfo. parseDwarfPubnames :: Bool -> Bool -> ByteString -> Map String [Word64] -- | Parses the .debug_pubtypes section (as ByteString) into a map from a -- type name to a debug info id in the DwarfInfo. parseDwarfPubtypes :: Bool -> Bool -> ByteString -> Map String [Word64] -- | Retrieves the macro information for a compilation unit from a given -- substring of the .debug_macinfo section. The offset into the -- .debug_macinfo section is obtained from the DW_AT_macro_info attribute -- of a compilation unit DIE. parseDwarfMacInfo :: ByteString -> [DW_MACINFO] -- | Retrieves the non-contiguous address ranges for a compilation unit -- from a given substring of the .debug_ranges section. The offset into -- the .debug_ranges section is obtained from the DW_AT_ranges attribute -- of a compilation unit DIE. Left results are base address entries. -- Right results are address ranges. parseDwarfRanges :: DwarfReader -> ByteString -> [Either Word64 (Word64, Word64)] -- | Retrieves the location list expressions from a given substring of the -- .debug_loc section. The offset into the .debug_loc section is obtained -- from an attribute of class loclistptr for a given DIE. Left results -- are base address entries. Right results are address ranges and a -- location expression. parseDwarfLoc :: DwarfReader -> ByteString -> [Either Word64 (Word64, Word64, ByteString)] -- | Retrieves the line information for a DIE from a given substring of the -- .debug_line section. The offset into the .debug_line section is -- obtained from the DW_AT_stmt_list attribute of a DIE. parseDwarfLine :: Bool -> Bool -> ByteString -> ([String], [DW_LNE]) -- | Parse the .debug_frame section into a list of DW_CIEFDE records. parseDwarfFrame :: Bool -> Bool -> ByteString -> [DW_CIEFDE] -- | Parse a ByteString into a DWARF opcode. This will be needed for -- further decoding of DIE attributes. parseDW_OP :: DwarfReader -> ByteString -> DW_OP dw_ate :: (Num t) => t -> DW_ATE dw_ds :: (Num t) => t -> DW_DS dw_end :: (Num t) => t -> DW_END dw_access :: (Num t) => t -> DW_ACCESS dw_vis :: (Num t) => t -> DW_VIS dw_virtuality :: (Num t) => t -> DW_VIRTUALITY dw_lang :: (Num t) => t -> DW_LANG dw_inl :: (Num t) => t -> DW_INL dw_cc :: (Num t) => t -> DW_CC dw_ord :: (Num t) => t -> DW_ORD dw_dsc :: (Num t) => t -> DW_DSC -- | Utility function for retrieving the list of values for a specified -- attribute from a DWARF information entry. (!?) :: DIE -> DW_AT -> [DW_ATVAL] -- | Type containing functions and data needed for decoding DWARF -- information. data DwarfReader DwarfReader :: Bool -> Bool -> Bool -> Word64 -> Word64 -> Get Word16 -> Get Word32 -> Get Word64 -> Get Word64 -> Get Word64 -> DwarfReader -- | True for little endian encoding. littleEndian :: DwarfReader -> Bool -- | True for 64-bit DWARF encoding. dwarf64 :: DwarfReader -> Bool -- | True for 64-bit pointers on target machine. target64 :: DwarfReader -> Bool -- | Largest permissible file offset. largestOffset :: DwarfReader -> Word64 -- | Largest permissible target address. largestTargetAddress :: DwarfReader -> Word64 -- | Action for reading a 16-bit word. getWord16 :: DwarfReader -> Get Word16 -- | Action for reading a 32-bit word. getWord32 :: DwarfReader -> Get Word32 -- | Action for reading a 64-bit word. getWord64 :: DwarfReader -> Get Word64 -- | Action for reading a offset for the DWARF file. getDwarfOffset :: DwarfReader -> Get Word64 -- | Action for reading a pointer for the target machine. getDwarfTargetAddress :: DwarfReader -> Get Word64 -- | The dwarf information entries form a graph of nodes tagged with -- attributes. Please refer to the DWARF specification for semantics. -- Although it looks like a tree, there can be attributes which have -- adjacency information which will introduce cross-branch edges. data DIE DIE :: Word64 -> Maybe Word64 -> [Word64] -> Maybe Word64 -> Maybe Word64 -> DW_TAG -> [(DW_AT, DW_ATVAL)] -> DwarfReader -> DIE -- | Unique identifier for this entry. dieId :: DIE -> Word64 -- | Unique identifier of this entry's parent. dieParent :: DIE -> Maybe Word64 -- | Unique identifiers of this entry's children. dieChildren :: DIE -> [Word64] -- | Unique identifier of the left sibling in the DIE tree, if one exists. dieSiblingLeft :: DIE -> Maybe Word64 -- | Unique identifier of the right sibling in the DIE tree, if one exists. dieSiblingRight :: DIE -> Maybe Word64 -- | Type tag. dieTag :: DIE -> DW_TAG -- | Attribute tag and value pairs. dieAttributes :: DIE -> [(DW_AT, DW_ATVAL)] -- | Decoder used to decode this entry. May be needed to further parse -- attribute values. dieReader :: DIE -> DwarfReader data DW_CFA DW_CFA_advance_loc :: Word8 -> DW_CFA DW_CFA_offset :: Word8 -> Word64 -> DW_CFA DW_CFA_restore :: Word8 -> DW_CFA DW_CFA_nop :: DW_CFA DW_CFA_set_loc :: Word64 -> DW_CFA DW_CFA_advance_loc1 :: Word8 -> DW_CFA DW_CFA_advance_loc2 :: Word16 -> DW_CFA DW_CFA_advance_loc4 :: Word32 -> DW_CFA DW_CFA_offset_extended :: Word64 -> Word64 -> DW_CFA DW_CFA_restore_extended :: Word64 -> DW_CFA DW_CFA_undefined :: Word64 -> DW_CFA DW_CFA_same_value :: Word64 -> DW_CFA DW_CFA_register :: Word64 -> Word64 -> DW_CFA DW_CFA_remember_state :: DW_CFA DW_CFA_restore_state :: DW_CFA DW_CFA_def_cfa :: Word64 -> Word64 -> DW_CFA DW_CFA_def_cfa_register :: Word64 -> DW_CFA DW_CFA_def_cfa_offset :: Word64 -> DW_CFA DW_CFA_def_cfa_expression :: ByteString -> DW_CFA DW_CFA_expression :: Word64 -> ByteString -> DW_CFA DW_CFA_offset_extended_sf :: Word64 -> Int64 -> DW_CFA DW_CFA_def_cfa_sf :: Word64 -> Int64 -> DW_CFA DW_CFA_def_cfa_offset_sf :: Int64 -> DW_CFA DW_CFA_val_offset :: Word64 -> Word64 -> DW_CFA DW_CFA_val_offset_sf :: Word64 -> Int64 -> DW_CFA DW_CFA_val_expression :: Word64 -> ByteString -> DW_CFA data DW_MACINFO -- | Line number and defined symbol with definition DW_MACINFO_define :: Word64 -> String -> DW_MACINFO -- | Line number and undefined symbol DW_MACINFO_undef :: Word64 -> String -> DW_MACINFO -- | Marks start of file with the line where the file was included from and -- a source file index DW_MACINFO_start_file :: Word64 -> Word64 -> DW_MACINFO -- | Marks end of file DW_MACINFO_end_file :: DW_MACINFO -- | Implementation defined DW_MACINFO_vendor_ext :: Word64 -> String -> DW_MACINFO data DW_CIEFDE DW_CIE :: String -> Word64 -> Int64 -> Word64 -> [DW_CFA] -> DW_CIEFDE cieAugmentation :: DW_CIEFDE -> String cieCodeAlignmentFactor :: DW_CIEFDE -> Word64 cieDataAlignmentFactor :: DW_CIEFDE -> Int64 cieReturnAddressRegister :: DW_CIEFDE -> Word64 cieInitialInstructions :: DW_CIEFDE -> [DW_CFA] DW_FDE :: Word64 -> Word64 -> Word64 -> [DW_CFA] -> DW_CIEFDE fdeCiePointer :: DW_CIEFDE -> Word64 fdeInitialLocation :: DW_CIEFDE -> Word64 fdeAddressRange :: DW_CIEFDE -> Word64 fdeInstructions :: DW_CIEFDE -> [DW_CFA] data DW_OP DW_OP_addr :: Word64 -> DW_OP DW_OP_deref :: DW_OP DW_OP_const1u :: Word8 -> DW_OP DW_OP_const1s :: Int8 -> DW_OP DW_OP_const2u :: Word16 -> DW_OP DW_OP_const2s :: Int16 -> DW_OP DW_OP_const4u :: Word32 -> DW_OP DW_OP_const4s :: Int32 -> DW_OP DW_OP_const8u :: Word64 -> DW_OP DW_OP_const8s :: Int64 -> DW_OP DW_OP_constu :: Word64 -> DW_OP DW_OP_consts :: Int64 -> DW_OP DW_OP_dup :: DW_OP DW_OP_drop :: DW_OP DW_OP_over :: DW_OP DW_OP_pick :: Word8 -> DW_OP DW_OP_swap :: DW_OP DW_OP_rot :: DW_OP DW_OP_xderef :: DW_OP DW_OP_abs :: DW_OP DW_OP_and :: DW_OP DW_OP_div :: DW_OP DW_OP_minus :: DW_OP DW_OP_mod :: DW_OP DW_OP_mul :: DW_OP DW_OP_neg :: DW_OP DW_OP_not :: DW_OP DW_OP_or :: DW_OP DW_OP_plus :: DW_OP DW_OP_plus_uconst :: Word64 -> DW_OP DW_OP_shl :: DW_OP DW_OP_shr :: DW_OP DW_OP_shra :: DW_OP DW_OP_xor :: DW_OP DW_OP_skip :: Int16 -> DW_OP DW_OP_bra :: Int16 -> DW_OP DW_OP_eq :: DW_OP DW_OP_ge :: DW_OP DW_OP_gt :: DW_OP DW_OP_le :: DW_OP DW_OP_lt :: DW_OP DW_OP_ne :: DW_OP DW_OP_lit0 :: DW_OP DW_OP_lit1 :: DW_OP DW_OP_lit2 :: DW_OP DW_OP_lit3 :: DW_OP DW_OP_lit4 :: DW_OP DW_OP_lit5 :: DW_OP DW_OP_lit6 :: DW_OP DW_OP_lit7 :: DW_OP DW_OP_lit8 :: DW_OP DW_OP_lit9 :: DW_OP DW_OP_lit10 :: DW_OP DW_OP_lit11 :: DW_OP DW_OP_lit12 :: DW_OP DW_OP_lit13 :: DW_OP DW_OP_lit14 :: DW_OP DW_OP_lit15 :: DW_OP DW_OP_lit16 :: DW_OP DW_OP_lit17 :: DW_OP DW_OP_lit18 :: DW_OP DW_OP_lit19 :: DW_OP DW_OP_lit20 :: DW_OP DW_OP_lit21 :: DW_OP DW_OP_lit22 :: DW_OP DW_OP_lit23 :: DW_OP DW_OP_lit24 :: DW_OP DW_OP_lit25 :: DW_OP DW_OP_lit26 :: DW_OP DW_OP_lit27 :: DW_OP DW_OP_lit28 :: DW_OP DW_OP_lit29 :: DW_OP DW_OP_lit30 :: DW_OP DW_OP_lit31 :: DW_OP DW_OP_reg0 :: DW_OP DW_OP_reg1 :: DW_OP DW_OP_reg2 :: DW_OP DW_OP_reg3 :: DW_OP DW_OP_reg4 :: DW_OP DW_OP_reg5 :: DW_OP DW_OP_reg6 :: DW_OP DW_OP_reg7 :: DW_OP DW_OP_reg8 :: DW_OP DW_OP_reg9 :: DW_OP DW_OP_reg10 :: DW_OP DW_OP_reg11 :: DW_OP DW_OP_reg12 :: DW_OP DW_OP_reg13 :: DW_OP DW_OP_reg14 :: DW_OP DW_OP_reg15 :: DW_OP DW_OP_reg16 :: DW_OP DW_OP_reg17 :: DW_OP DW_OP_reg18 :: DW_OP DW_OP_reg19 :: DW_OP DW_OP_reg20 :: DW_OP DW_OP_reg21 :: DW_OP DW_OP_reg22 :: DW_OP DW_OP_reg23 :: DW_OP DW_OP_reg24 :: DW_OP DW_OP_reg25 :: DW_OP DW_OP_reg26 :: DW_OP DW_OP_reg27 :: DW_OP DW_OP_reg28 :: DW_OP DW_OP_reg29 :: DW_OP DW_OP_reg30 :: DW_OP DW_OP_reg31 :: DW_OP DW_OP_breg0 :: Int64 -> DW_OP DW_OP_breg1 :: Int64 -> DW_OP DW_OP_breg2 :: Int64 -> DW_OP DW_OP_breg3 :: Int64 -> DW_OP DW_OP_breg4 :: Int64 -> DW_OP DW_OP_breg5 :: Int64 -> DW_OP DW_OP_breg6 :: Int64 -> DW_OP DW_OP_breg7 :: Int64 -> DW_OP DW_OP_breg8 :: Int64 -> DW_OP DW_OP_breg9 :: Int64 -> DW_OP DW_OP_breg10 :: Int64 -> DW_OP DW_OP_breg11 :: Int64 -> DW_OP DW_OP_breg12 :: Int64 -> DW_OP DW_OP_breg13 :: Int64 -> DW_OP DW_OP_breg14 :: Int64 -> DW_OP DW_OP_breg15 :: Int64 -> DW_OP DW_OP_breg16 :: Int64 -> DW_OP DW_OP_breg17 :: Int64 -> DW_OP DW_OP_breg18 :: Int64 -> DW_OP DW_OP_breg19 :: Int64 -> DW_OP DW_OP_breg20 :: Int64 -> DW_OP DW_OP_breg21 :: Int64 -> DW_OP DW_OP_breg22 :: Int64 -> DW_OP DW_OP_breg23 :: Int64 -> DW_OP DW_OP_breg24 :: Int64 -> DW_OP DW_OP_breg25 :: Int64 -> DW_OP DW_OP_breg26 :: Int64 -> DW_OP DW_OP_breg27 :: Int64 -> DW_OP DW_OP_breg28 :: Int64 -> DW_OP DW_OP_breg29 :: Int64 -> DW_OP DW_OP_breg30 :: Int64 -> DW_OP DW_OP_breg31 :: Int64 -> DW_OP DW_OP_regx :: Word64 -> DW_OP DW_OP_fbreg :: Int64 -> DW_OP DW_OP_bregx :: Word64 -> Int64 -> DW_OP DW_OP_piece :: Word64 -> DW_OP DW_OP_deref_size :: Word8 -> DW_OP DW_OP_xderef_size :: Word8 -> DW_OP DW_OP_nop :: DW_OP DW_OP_push_object_address :: DW_OP DW_OP_call2 :: Word16 -> DW_OP DW_OP_call4 :: Word32 -> DW_OP DW_OP_call_ref :: Word64 -> DW_OP DW_OP_form_tls_address :: DW_OP DW_OP_call_frame_cfa :: DW_OP DW_OP_bit_piece :: Word64 -> Word64 -> DW_OP data DW_TAG DW_TAG_array_type :: DW_TAG DW_TAG_class_type :: DW_TAG DW_TAG_entry_point :: DW_TAG DW_TAG_enumeration_type :: DW_TAG DW_TAG_formal_parameter :: DW_TAG DW_TAG_imported_declaration :: DW_TAG DW_TAG_label :: DW_TAG DW_TAG_lexical_block :: DW_TAG DW_TAG_member :: DW_TAG DW_TAG_pointer_type :: DW_TAG DW_TAG_reference_type :: DW_TAG DW_TAG_compile_unit :: DW_TAG DW_TAG_string_type :: DW_TAG DW_TAG_structure_type :: DW_TAG DW_TAG_subroutine_type :: DW_TAG DW_TAG_typedef :: DW_TAG DW_TAG_union_type :: DW_TAG DW_TAG_unspecified_parameters :: DW_TAG DW_TAG_variant :: DW_TAG DW_TAG_common_block :: DW_TAG DW_TAG_common_inclusion :: DW_TAG DW_TAG_inheritance :: DW_TAG DW_TAG_inlined_subroutine :: DW_TAG DW_TAG_module :: DW_TAG DW_TAG_ptr_to_member_type :: DW_TAG DW_TAG_set_type :: DW_TAG DW_TAG_subrange_type :: DW_TAG DW_TAG_with_stmt :: DW_TAG DW_TAG_access_declaration :: DW_TAG DW_TAG_base_type :: DW_TAG DW_TAG_catch_block :: DW_TAG DW_TAG_const_type :: DW_TAG DW_TAG_constant :: DW_TAG DW_TAG_enumerator :: DW_TAG DW_TAG_file_type :: DW_TAG DW_TAG_friend :: DW_TAG DW_TAG_namelist :: DW_TAG DW_TAG_namelist_item :: DW_TAG DW_TAG_packed_type :: DW_TAG DW_TAG_subprogram :: DW_TAG DW_TAG_template_type_parameter :: DW_TAG DW_TAG_template_value_parameter :: DW_TAG DW_TAG_thrown_type :: DW_TAG DW_TAG_try_block :: DW_TAG DW_TAG_variant_part :: DW_TAG DW_TAG_variable :: DW_TAG DW_TAG_volatile_type :: DW_TAG DW_TAG_dwarf_procedure :: DW_TAG DW_TAG_restrict_type :: DW_TAG DW_TAG_interface_type :: DW_TAG DW_TAG_namespace :: DW_TAG DW_TAG_imported_module :: DW_TAG DW_TAG_unspecified_type :: DW_TAG DW_TAG_partial_unit :: DW_TAG DW_TAG_imported_unit :: DW_TAG DW_TAG_condition :: DW_TAG DW_TAG_shared_type :: DW_TAG data DW_AT -- | reference DW_AT_sibling :: DW_AT -- | block, loclistptr DW_AT_location :: DW_AT -- | string DW_AT_name :: DW_AT -- | constant DW_AT_ordering :: DW_AT -- | block, constant, reference DW_AT_byte_size :: DW_AT -- | block, constant, reference DW_AT_bit_offset :: DW_AT -- | block, constant, reference DW_AT_bit_size :: DW_AT -- | lineptr DW_AT_stmt_list :: DW_AT -- | address DW_AT_low_pc :: DW_AT -- | address DW_AT_high_pc :: DW_AT -- | constant DW_AT_language :: DW_AT -- | reference DW_AT_discr :: DW_AT -- | constant DW_AT_discr_value :: DW_AT -- | constant DW_AT_visibility :: DW_AT -- | reference DW_AT_import :: DW_AT -- | block, loclistptr DW_AT_string_length :: DW_AT -- | reference DW_AT_common_reference :: DW_AT -- | string DW_AT_comp_dir :: DW_AT -- | block, constant, string DW_AT_const_value :: DW_AT -- | reference DW_AT_containing_type :: DW_AT -- | reference DW_AT_default_value :: DW_AT -- | constant DW_AT_inline :: DW_AT -- | flag DW_AT_is_optional :: DW_AT -- | block, constant, reference DW_AT_lower_bound :: DW_AT -- | string DW_AT_producer :: DW_AT -- | flag DW_AT_prototyped :: DW_AT -- | block, loclistptr DW_AT_return_addr :: DW_AT -- | constant DW_AT_start_scope :: DW_AT -- | constant DW_AT_bit_stride :: DW_AT -- | block, constant, reference DW_AT_upper_bound :: DW_AT -- | reference DW_AT_abstract_origin :: DW_AT -- | constant DW_AT_accessibility :: DW_AT -- | constant DW_AT_address_class :: DW_AT -- | flag DW_AT_artificial :: DW_AT -- | reference DW_AT_base_types :: DW_AT -- | constant DW_AT_calling_convention :: DW_AT -- | block, constant, reference DW_AT_count :: DW_AT -- | block, constant, loclistptr DW_AT_data_member_location :: DW_AT -- | constant DW_AT_decl_column :: DW_AT -- | constant DW_AT_decl_file :: DW_AT -- | constant DW_AT_decl_line :: DW_AT -- | flag DW_AT_declaration :: DW_AT -- | block DW_AT_discr_list :: DW_AT -- | constant DW_AT_encoding :: DW_AT -- | flag DW_AT_external :: DW_AT -- | block, loclistptr DW_AT_frame_base :: DW_AT -- | reference DW_AT_friend :: DW_AT -- | constant DW_AT_identifier_case :: DW_AT -- | macptr DW_AT_macro_info :: DW_AT -- | block DW_AT_namelist_item :: DW_AT -- | reference DW_AT_priority :: DW_AT -- | block, loclistptr DW_AT_segment :: DW_AT -- | reference DW_AT_specification :: DW_AT -- | block, loclistptr DW_AT_static_link :: DW_AT -- | reference DW_AT_type :: DW_AT -- | block, loclistptr DW_AT_use_location :: DW_AT -- | flag DW_AT_variable_parameter :: DW_AT -- | constant DW_AT_virtuality :: DW_AT -- | block, loclistptr DW_AT_vtable_elem_location :: DW_AT -- | block, constant, reference DW_AT_allocated :: DW_AT -- | block, constant, reference DW_AT_associated :: DW_AT -- | block DW_AT_data_location :: DW_AT -- | block, constant, reference DW_AT_byte_stride :: DW_AT -- | address DW_AT_entry_pc :: DW_AT -- | flag DW_AT_use_UTF8 :: DW_AT -- | reference DW_AT_extension :: DW_AT -- | rangelistptr DW_AT_ranges :: DW_AT -- | address, flag, reference, string DW_AT_trampoline :: DW_AT -- | constant DW_AT_call_column :: DW_AT -- | constant DW_AT_call_file :: DW_AT -- | constant DW_AT_call_line :: DW_AT -- | string DW_AT_description :: DW_AT -- | constant DW_AT_binary_scale :: DW_AT -- | constant DW_AT_decimal_scale :: DW_AT -- | reference DW_AT_small :: DW_AT -- | constant DW_AT_decimal_sign :: DW_AT -- | constant DW_AT_digit_count :: DW_AT -- | string DW_AT_picture_string :: DW_AT -- | flag DW_AT_mutable :: DW_AT -- | flag DW_AT_threads_scaled :: DW_AT -- | flag DW_AT_explicit :: DW_AT -- | reference DW_AT_object_pointer :: DW_AT -- | constant DW_AT_endianity :: DW_AT -- | flag DW_AT_elemental :: DW_AT -- | flag DW_AT_pure :: DW_AT -- | flag DW_AT_recursive :: DW_AT -- | user extension DW_AT_user :: Word64 -> DW_AT data DW_ATVAL DW_ATVAL_INT :: Int64 -> DW_ATVAL DW_ATVAL_UINT :: Word64 -> DW_ATVAL DW_ATVAL_STRING :: String -> DW_ATVAL DW_ATVAL_BLOB :: ByteString -> DW_ATVAL DW_ATVAL_BOOL :: Bool -> DW_ATVAL data DW_LNE DW_LNE :: Word64 -> Word64 -> Word64 -> Word64 -> Bool -> Bool -> Bool -> Bool -> Bool -> Word64 -> [(String, Word64, Word64, Word64)] -> DW_LNE lnmAddress :: DW_LNE -> Word64 lnmFile :: DW_LNE -> Word64 lnmLine :: DW_LNE -> Word64 lnmColumn :: DW_LNE -> Word64 lnmStatement :: DW_LNE -> Bool lnmBasicBlock :: DW_LNE -> Bool lnmEndSequence :: DW_LNE -> Bool lnmPrologueEnd :: DW_LNE -> Bool lnmEpilogueBegin :: DW_LNE -> Bool lnmISA :: DW_LNE -> Word64 lnmFiles :: DW_LNE -> [(String, Word64, Word64, Word64)] data DW_ATE DW_ATE_address :: DW_ATE DW_ATE_boolean :: DW_ATE DW_ATE_complex_float :: DW_ATE DW_ATE_float :: DW_ATE DW_ATE_signed :: DW_ATE DW_ATE_signed_char :: DW_ATE DW_ATE_unsigned :: DW_ATE DW_ATE_unsigned_char :: DW_ATE DW_ATE_imaginary_float :: DW_ATE DW_ATE_packed_decimal :: DW_ATE DW_ATE_numeric_string :: DW_ATE DW_ATE_edited :: DW_ATE DW_ATE_signed_fixed :: DW_ATE DW_ATE_unsigned_fixed :: DW_ATE DW_ATE_decimal_float :: DW_ATE data DW_DS DW_DS_unsigned :: DW_DS DW_DS_leading_overpunch :: DW_DS DW_DS_trailing_overpunch :: DW_DS DW_DS_leading_separate :: DW_DS DW_DS_trailing_separate :: DW_DS data DW_END DW_END_default :: DW_END DW_END_big :: DW_END DW_END_little :: DW_END data DW_ACCESS DW_ACCESS_public :: DW_ACCESS DW_ACCESS_protected :: DW_ACCESS DW_ACCESS_private :: DW_ACCESS data DW_VIS DW_VIS_local :: DW_VIS DW_VIS_exported :: DW_VIS DW_VIS_qualified :: DW_VIS data DW_VIRTUALITY DW_VIRTUALITY_none :: DW_VIRTUALITY DW_VIRTUALITY_virtual :: DW_VIRTUALITY DW_VIRTUALITY_pure_virtual :: DW_VIRTUALITY data DW_LANG DW_LANG_C89 :: DW_LANG DW_LANG_C :: DW_LANG DW_LANG_Ada83 :: DW_LANG DW_LANG_C_plus_plus :: DW_LANG DW_LANG_Cobol74 :: DW_LANG DW_LANG_Cobol85 :: DW_LANG DW_LANG_Fortran77 :: DW_LANG DW_LANG_Fortran90 :: DW_LANG DW_LANG_Pascal83 :: DW_LANG DW_LANG_Modula2 :: DW_LANG DW_LANG_Java :: DW_LANG DW_LANG_C99 :: DW_LANG DW_LANG_Ada95 :: DW_LANG DW_LANG_Fortran95 :: DW_LANG DW_LANG_PLI :: DW_LANG DW_LANG_ObjC :: DW_LANG DW_LANG_ObjC_plus_plus :: DW_LANG DW_LANG_UPC :: DW_LANG DW_LANG_D :: DW_LANG data DW_ID DW_ID_case_sensitive :: DW_ID DW_ID_up_case :: DW_ID DW_ID_down_case :: DW_ID DW_ID_case_insensitive :: DW_ID data DW_INL DW_INL_not_inlined :: DW_INL DW_INL_inlined :: DW_INL DW_INL_declared_not_inlined :: DW_INL DW_INL_declared_inlined :: DW_INL data DW_CC DW_CC_normal :: DW_CC DW_CC_program :: DW_CC DW_CC_nocall :: DW_CC data DW_ORD DW_ORD_row_major :: DW_ORD DW_ORD_col_major :: DW_ORD data DW_DSC DW_DSC_label :: DW_DSC DW_DSC_range :: DW_DSC instance Show DW_DSC instance Eq DW_DSC instance Show DW_ORD instance Eq DW_ORD instance Show DW_INL instance Eq DW_INL instance Show DW_CC instance Eq DW_CC instance Show DW_ID instance Eq DW_ID instance Show DW_LANG instance Eq DW_LANG instance Show DW_VIRTUALITY instance Eq DW_VIRTUALITY instance Show DW_VIS instance Eq DW_VIS instance Show DW_ACCESS instance Eq DW_ACCESS instance Show DW_END instance Eq DW_END instance Show DW_DS instance Eq DW_DS instance Show DW_ATE instance Eq DW_ATE instance Show DW_OP instance Eq DW_OP instance Show DW_FORM instance Eq DW_FORM instance Show DW_ATVAL instance Eq DW_ATVAL instance Show DW_AT instance Eq DW_AT instance Show DW_TAG instance Eq DW_TAG instance Show DW_CIEFDE instance Eq DW_CIEFDE instance Show DW_CFA instance Eq DW_CFA instance Show DW_MACINFO instance Eq DW_MACINFO instance Show DW_LNE instance Eq DW_LNE instance Show DW_LNI instance Eq DW_LNI instance Show DIE instance Eq DIE instance Eq DwarfReader instance Show DwarfReader