jon.recoil.org

Module Asm_targets.Asm_section

Representation of object file sections.

type dwarf_section =
  1. | Debug_info
  2. | Debug_abbrev
  3. | Debug_aranges
  4. | Debug_addr
  5. | Debug_loc
  6. | Debug_ranges
  7. | Debug_loclists
  8. | Debug_rnglists
  9. | Debug_str
  10. | Debug_line

Sections that hold DWARF debugging information.

type t =
  1. | DWARF of dwarf_section
  2. | Data
  3. | Read_only_data
  4. | Eight_byte_literals
  5. | Sixteen_byte_literals
  6. | Thirtytwo_byte_literals
  7. | Sixtyfour_byte_literals
  8. | Jump_tables
  9. | Text
  10. | Function_text of string
    (*

    Individual function section, e.g. ".text.caml.func"

    *)
  11. | Stapsdt_base
  12. | Stapsdt_note
  13. | Probes
  14. | Note_ocaml_eh
  15. | Note_gnu_stack
  16. | Custom of {
    1. names : string list;
    2. flags : string option;
    3. args : string list;
    4. is_delayed : bool;
    }
    (*

    A custom section with explicit details, for target-specific sections not covered by the other variants.

    *)
val to_string : t -> string
val of_names : string list -> t option
type section_details = private {
  1. names : string list;
  2. flags : string option;
  3. args : string list;
  4. is_delayed : bool;
}
val dwarf_sections_in_order : unit -> t list
val is_delayed : t -> bool
val details : t -> [ `First_occurrence | `Not_first_occurrence ] -> section_details

The necessary information for a section directive. first_occurrence should be `First_occurrence iff the corresponding directive will be the first such in the relevant assembly file for the given section.

val print : Format.formatter -> t -> unit
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
module Tbl : Hashtbl.S with type key = t
val section_is_text : t -> bool

Whether the section holds code.