ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.CmmToAsm.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 /usr/include/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_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 :: IsDoc doc => Platform -> doc
- dwarfAbbrevSection :: IsDoc doc => Platform -> doc
- dwarfLineSection :: IsDoc doc => Platform -> doc
- dwarfFrameSection :: IsDoc doc => Platform -> doc
- dwarfGhcSection :: IsDoc doc => Platform -> doc
- dwarfARangesSection :: IsDoc doc => Platform -> doc
- dwarfSection :: IsDoc doc => Platform -> String -> doc
- dwarfInfoLabel :: IsLine doc => doc
- dwarfAbbrevLabel :: IsLine doc => doc
- dwarfLineLabel :: IsLine doc => doc
- dwarfFrameLabel :: IsLine doc => doc
- dwarfRegNo :: Platform -> Reg -> Word8
- dwarfReturnRegNo :: Platform -> Word8

# Documentation

dW_LANG_Haskell :: Word Source #

Language ID used for Haskell.

# Dwarf tags

dW_TAG_compile_unit :: Word Source #

dW_TAG_subroutine_type :: Word Source #

dW_TAG_file_type :: Word Source #

dW_TAG_subprogram :: Word Source #

dW_TAG_lexical_block :: Word Source #

dW_TAG_base_type :: Word Source #

dW_TAG_structure_type :: Word Source #

dW_TAG_pointer_type :: Word Source #

dW_TAG_array_type :: Word Source #

dW_TAG_subrange_type :: Word Source #

dW_TAG_typedef :: Word Source #

dW_TAG_variable :: Word Source #

dW_TAG_arg_variable :: Word Source #

dW_TAG_auto_variable :: Word Source #

dW_TAG_ghc_src_note :: Word Source #

# Dwarf attributes

dW_AT_name :: Word Source #

dW_AT_stmt_list :: Word Source #

dW_AT_low_pc :: Word Source #

dW_AT_high_pc :: Word Source #

dW_AT_language :: Word Source #

dW_AT_comp_dir :: Word Source #

dW_AT_producer :: Word Source #

dW_AT_external :: Word Source #

dW_AT_frame_base :: Word Source #

dW_AT_use_UTF8 :: Word Source #

dW_AT_linkage_name :: Word Source #

# Custom DWARF attributes

## Describing C-- blocks

dW_AT_ghc_tick_parent :: Word Source #

## Describing source notes

dW_AT_ghc_span_file :: Word Source #

dW_AT_ghc_span_start_line :: Word Source #

dW_AT_ghc_span_start_col :: Word Source #

dW_AT_ghc_span_end_line :: Word Source #

dW_AT_ghc_span_end_col :: Word Source #

# Abbrev declarations

dW_CHILDREN_no :: Word8 Source #

dW_CHILDREN_yes :: Word8 Source #

dW_FORM_addr :: Word Source #

dW_FORM_data2 :: Word Source #

dW_FORM_data4 :: Word Source #

dW_FORM_string :: Word Source #

dW_FORM_flag :: Word Source #

dW_FORM_block1 :: Word Source #

dW_FORM_ref4 :: Word Source #

dW_FORM_ref_addr :: Word Source #

dW_FORM_flag_present :: Word Source #

# Dwarf native types

dW_ATE_address :: Word Source #

dW_ATE_boolean :: Word Source #

dW_ATE_float :: Word Source #

dW_ATE_signed :: Word Source #

dW_ATE_signed_char :: Word Source #

dW_ATE_unsigned :: Word Source #

dW_ATE_unsigned_char :: Word Source #

# Call frame information

dW_CFA_set_loc :: Word8 Source #

dW_CFA_undefined :: Word8 Source #

dW_CFA_same_value :: Word8 Source #

dW_CFA_def_cfa :: Word8 Source #

dW_CFA_def_cfa_offset :: Word8 Source #

dW_CFA_def_cfa_expression :: Word8 Source #

dW_CFA_expression :: Word8 Source #

dW_CFA_offset_extended_sf :: Word8 Source #

dW_CFA_def_cfa_offset_sf :: Word8 Source #

dW_CFA_def_cfa_sf :: Word8 Source #

dW_CFA_val_offset :: Word8 Source #

dW_CFA_val_expression :: Word8 Source #

dW_CFA_offset :: Word8 Source #

# Operations

dW_OP_addr :: Word8 Source #

dW_OP_deref :: Word8 Source #

dW_OP_consts :: Word8 Source #

dW_OP_minus :: Word8 Source #

dW_OP_mul :: Word8 Source #

dW_OP_plus :: Word8 Source #

dW_OP_lit0 :: Word8 Source #

dW_OP_breg0 :: Word8 Source #

dW_OP_call_frame_cfa :: Word8 Source #

# Dwarf section declarations

dwarfInfoSection :: IsDoc doc => Platform -> doc Source #

dwarfAbbrevSection :: IsDoc doc => Platform -> doc Source #

dwarfLineSection :: IsDoc doc => Platform -> doc Source #

dwarfFrameSection :: IsDoc doc => Platform -> doc Source #

dwarfGhcSection :: IsDoc doc => Platform -> doc Source #

dwarfARangesSection :: IsDoc doc => Platform -> doc Source #

dwarfSection :: IsDoc doc => Platform -> String -> doc Source #

# Dwarf section labels

dwarfInfoLabel :: IsLine doc => doc Source #

dwarfAbbrevLabel :: IsLine doc => doc Source #

dwarfLineLabel :: IsLine doc => doc Source #

dwarfFrameLabel :: IsLine doc => doc Source #

dwarfRegNo :: Platform -> Reg -> Word8 Source #

Mapping of registers to DWARF register numbers

dwarfReturnRegNo :: Platform -> Word8 Source #

Virtual register number to use for return address.