ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

Dwarf.Constants

Contents

- Dwarf tags
- Dwarf attributes
- Custom DWARF attributes
  - Describing C-- blocks
  - Describing source notes
- Abbrev declarations
- Dwarf native types
- Call frame information
- Operations
- Dwarf section declarations
- Dwarf section labels

Description

Constants describing the DWARF format. Most of this simply mirrors usrinclude/dwarf.h.

Synopsis

- dW_LANG_Haskell :: Word
- dW_TAG_compile_unit :: Word
- dW_TAG_subroutine_type :: Word
- dW_TAG_file_type :: Word
- dW_TAG_subprogram :: Word
- dW_TAG_lexical_block :: Word
- dW_TAG_base_type :: Word
- dW_TAG_structure_type :: Word
- dW_TAG_pointer_type :: Word
- dW_TAG_array_type :: Word
- dW_TAG_subrange_type :: Word
- dW_TAG_typedef :: Word
- dW_TAG_variable :: Word
- dW_TAG_arg_variable :: Word
- dW_TAG_auto_variable :: Word
- dW_TAG_ghc_src_note :: Word
- dW_AT_name :: Word
- dW_AT_stmt_list :: Word
- dW_AT_low_pc :: Word
- dW_AT_high_pc :: Word
- dW_AT_language :: Word
- dW_AT_comp_dir :: Word
- dW_AT_producer :: Word
- dW_AT_external :: Word
- dW_AT_frame_base :: Word
- dW_AT_use_UTF8 :: Word
- dW_AT_MIPS_linkage_name :: Word
- dW_AT_ghc_tick_parent :: Word
- dW_AT_ghc_span_file :: Word
- dW_AT_ghc_span_start_line :: Word
- dW_AT_ghc_span_start_col :: Word
- dW_AT_ghc_span_end_line :: Word
- dW_AT_ghc_span_end_col :: Word
- dW_CHILDREN_no :: Word8
- dW_CHILDREN_yes :: Word8
- dW_FORM_addr :: Word
- dW_FORM_data2 :: Word
- dW_FORM_data4 :: Word
- dW_FORM_string :: Word
- dW_FORM_flag :: Word
- dW_FORM_block1 :: Word
- dW_FORM_ref4 :: Word
- dW_FORM_ref_addr :: Word
- dW_FORM_flag_present :: Word
- dW_ATE_address :: Word
- dW_ATE_boolean :: Word
- dW_ATE_float :: Word
- dW_ATE_signed :: Word
- dW_ATE_signed_char :: Word
- dW_ATE_unsigned :: Word
- dW_ATE_unsigned_char :: Word
- dW_CFA_set_loc :: Word8
- dW_CFA_undefined :: Word8
- dW_CFA_same_value :: Word8
- dW_CFA_def_cfa :: Word8
- dW_CFA_def_cfa_offset :: Word8
- dW_CFA_def_cfa_expression :: Word8
- dW_CFA_expression :: Word8
- dW_CFA_offset_extended_sf :: Word8
- dW_CFA_def_cfa_offset_sf :: Word8
- dW_CFA_def_cfa_sf :: Word8
- dW_CFA_val_offset :: Word8
- dW_CFA_val_expression :: Word8
- dW_CFA_offset :: Word8
- dW_OP_addr :: Word8
- dW_OP_deref :: Word8
- dW_OP_consts :: Word8
- dW_OP_minus :: Word8
- dW_OP_mul :: Word8
- dW_OP_plus :: Word8
- dW_OP_lit0 :: Word8
- dW_OP_breg0 :: Word8
- dW_OP_call_frame_cfa :: Word8
- dwarfInfoSection :: SDoc
- dwarfAbbrevSection :: SDoc
- dwarfLineSection :: SDoc
- dwarfFrameSection :: SDoc
- dwarfGhcSection :: SDoc
- dwarfARangesSection :: SDoc
- dwarfSection :: String -> SDoc
- dwarfInfoLabel :: LitString
- dwarfAbbrevLabel :: LitString
- dwarfLineLabel :: LitString
- dwarfFrameLabel :: LitString
- dwarfRegNo :: Platform -> Reg -> Word8
- dwarfReturnRegNo :: Platform -> Word8

# Documentation

dW_LANG_Haskell :: Word #

Language ID used for Haskell.

# Dwarf tags

dW_TAG_compile_unit :: Word #

dW_TAG_subroutine_type :: Word #

dW_TAG_file_type :: Word #

dW_TAG_subprogram :: Word #

dW_TAG_lexical_block :: Word #

dW_TAG_base_type :: Word #

dW_TAG_structure_type :: Word #

dW_TAG_pointer_type :: Word #

dW_TAG_array_type :: Word #

dW_TAG_subrange_type :: Word #

dW_TAG_typedef :: Word #

dW_TAG_variable :: Word #

dW_TAG_arg_variable :: Word #

dW_TAG_auto_variable :: Word #

dW_TAG_ghc_src_note :: Word #

# Dwarf attributes

dW_AT_name :: Word #

dW_AT_stmt_list :: Word #

dW_AT_low_pc :: Word #

dW_AT_high_pc :: Word #

dW_AT_language :: Word #

dW_AT_comp_dir :: Word #

dW_AT_producer :: Word #

dW_AT_external :: Word #

dW_AT_frame_base :: Word #

dW_AT_use_UTF8 :: Word #

dW_AT_MIPS_linkage_name :: Word #

# Custom DWARF attributes

## Describing C-- blocks

dW_AT_ghc_tick_parent :: Word #

## Describing source notes

dW_AT_ghc_span_file :: Word #

dW_AT_ghc_span_start_line :: Word #

dW_AT_ghc_span_start_col :: Word #

dW_AT_ghc_span_end_line :: Word #

dW_AT_ghc_span_end_col :: Word #

# Abbrev declarations

dW_CHILDREN_no :: Word8 #

dW_CHILDREN_yes :: Word8 #

dW_FORM_addr :: Word #

dW_FORM_data2 :: Word #

dW_FORM_data4 :: Word #

dW_FORM_string :: Word #

dW_FORM_flag :: Word #

dW_FORM_block1 :: Word #

dW_FORM_ref4 :: Word #

dW_FORM_ref_addr :: Word #

dW_FORM_flag_present :: Word #

# Dwarf native types

dW_ATE_address :: Word #

dW_ATE_boolean :: Word #

dW_ATE_float :: Word #

dW_ATE_signed :: Word #

dW_ATE_signed_char :: Word #

dW_ATE_unsigned :: Word #

dW_ATE_unsigned_char :: Word #

# Call frame information

dW_CFA_set_loc :: Word8 #

dW_CFA_undefined :: Word8 #

dW_CFA_same_value :: Word8 #

dW_CFA_def_cfa :: Word8 #

dW_CFA_def_cfa_offset :: Word8 #

dW_CFA_def_cfa_expression :: Word8 #

dW_CFA_expression :: Word8 #

dW_CFA_offset_extended_sf :: Word8 #

dW_CFA_def_cfa_offset_sf :: Word8 #

dW_CFA_def_cfa_sf :: Word8 #

dW_CFA_val_offset :: Word8 #

dW_CFA_val_expression :: Word8 #

dW_CFA_offset :: Word8 #

# Operations

dW_OP_addr :: Word8 #

dW_OP_deref :: Word8 #

dW_OP_consts :: Word8 #

dW_OP_minus :: Word8 #

dW_OP_mul :: Word8 #

dW_OP_plus :: Word8 #

dW_OP_lit0 :: Word8 #

dW_OP_breg0 :: Word8 #

dW_OP_call_frame_cfa :: Word8 #

# Dwarf section declarations

dwarfInfoSection :: SDoc #

dwarfAbbrevSection :: SDoc #

dwarfLineSection :: SDoc #

dwarfFrameSection :: SDoc #

dwarfGhcSection :: SDoc #

dwarfARangesSection :: SDoc #

dwarfSection :: String -> SDoc #

# Dwarf section labels

dwarfInfoLabel :: LitString #

dwarfAbbrevLabel :: LitString #

dwarfLineLabel :: LitString #

dwarfFrameLabel :: LitString #

dwarfRegNo :: Platform -> Reg -> Word8 #

Mapping of registers to DWARF register numbers

dwarfReturnRegNo :: Platform -> Word8 #

Virtual register number to use for return address.