Linker_scriptSourcetype input_section_rec = {idx : Nat_big_num.num;fname : string;img : Elf_memory_image.elf_memory_image;shndx : Nat_big_num.num;secname : string;isec : Elf_interpreted_section.elf64_interpreted_section;}type input_spec = | Common of Nat_big_num.num
* string
* Elf_memory_image.elf_memory_image
* Memory_image.symbol_definition| InputSection of input_section_rectype 'a address_expr_fn_map =
(address_expr_fn_ref, Nat_big_num.num -> 'a -> Nat_big_num.num) Pmap.maptype output_section_composition_element = | IncludeInputSection of retain_policy * input_section_rec| IncludeCommonSymbol of retain_policy
* string
* Nat_big_num.num
* Memory_image.symbol_definition
* Elf_memory_image.elf_memory_image| Hole of address_expr_fn| ProvideSymbol of symbol_def_policy * string * symbol_specand output_section_spec = | OutputSectionSpec of output_guard
* Nat_big_num.num option
* string
* output_section_composition_element listand allocated_sections_map = | AllocatedSectionsMap of (string, output_section_spec * Nat_big_num.num)
Pmap.maptype script_element = | DefineSymbol of symbol_def_policy * string * symbol_spec| AdvanceAddress of address_expr_fn| MarkAndAlignDataSegment of Nat_big_num.num * Nat_big_num.num| MarkDataSegmentEnd| MarkDataSegmentRelroEnd| OutputSection of output_guard
* address_expr_fn option
* string
* script_element list| DiscardInput of input_selector| InputQuery of retain_policy * sort_policy * input_selectorval address_zero :
Nat_big_num.num ->
(Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map ->
Nat_big_num.num
* (Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map
* address_expr_fnval do_output_section_layout_starting_at_addr :
Nat_big_num.num ->
allocated_sections_map ->
output_section_composition_element list ->
Nat_big_num.num * Nat_big_num.num listval output_sec_composition_size_given_start_addr :
Nat_big_num.num ->
allocated_sections_map ->
output_section_composition_element list ->
Nat_big_num.numval alignof_output_section_composition_element :
output_section_composition_element ->
Nat_big_num.numval default_linker_control_script :
Nat_big_num.num ->
(Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map ->
'a Memory_image.abi ->
Nat_big_num.num option ->
Nat_big_num.num option ->
'b ->
Nat_big_num.num ->
Nat_big_num.num
* (Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map
* script_element listval label_script_aux :
Nat_big_num.num ->
script_element list ->
(script_element * Nat_big_num.num) listval assign_inputs_to_output_sections :
(input_spec list * (output_section_spec * Nat_big_num.num) list) ->
(Nat_big_num.num * Nat_big_num.num) Pset.set ->
(Nat_big_num.num * Nat_big_num.num * Nat_big_num.num) Pset.set ->
input_spec list ->
(output_section_spec * Nat_big_num.num) option ->
input_spec option ->
(input_spec -> input_spec -> int) ->
labelled_linker_control_script ->
input_spec list * (output_section_spec * Nat_big_num.num) listval symbol_def_for_provide_symbol :
string ->
Nat_big_num.num ->
Uint32_wrapper.uint32 ->
Uint32_wrapper.uint32 ->
Nat_big_num.num ->
Memory_image.symbol_definitionval assign_dot_to_itself :
Nat_big_num.num ->
(Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map ->
Nat_big_num.num
* (Nat_big_num.num,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map
* address_expr_fnval build_image :
'a Memory_image.abi ->
(address_expr_fn_ref,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map ->
Elf_memory_image.elf_memory_image ->
Nat_big_num.num ->
allocated_sections_map ->
(string,
(Nat_big_num.num
* ((Nat_big_num.num
* Memory_image.symbol_reference
* Linkable_list.linkable_item)
* (Nat_big_num.num
* Memory_image.symbol_definition
* Linkable_list.linkable_item)
option))
list)
Pmap.map ->
(script_element * Nat_big_num.num) list ->
Nat_big_num.num ->
'b ->
Abis.any_abi_feature Memory_image.annotated_memory_image
* allocated_sections_mapval default_place_orphans :
(input_spec list * (output_section_spec * Nat_big_num.num) list) ->
input_spec list ->
input_spec list * (output_section_spec * Nat_big_num.num) listval interpret_linker_control_script :
(address_expr_fn_ref,
Nat_big_num.num ->
allocated_sections_map ->
Nat_big_num.num)
Pmap.map ->
script_element list ->
Linkable_list.linkable_item list ->
Nat_big_num.num ->
'a Memory_image.abi ->
input_spec list ->
(input_spec -> input_spec -> int) ->
((input_spec list * (output_section_spec * Nat_big_num.num) list) ->
input_spec list ->
'b * (output_section_spec * Nat_big_num.num) list) ->
(string,
(Nat_big_num.num
* ((Nat_big_num.num
* Memory_image.symbol_reference
* Linkable_list.linkable_item)
* (Nat_big_num.num
* Memory_image.symbol_definition
* Linkable_list.linkable_item)
option))
list)
Pmap.map ->
Abis.any_abi_feature Memory_image.annotated_memory_image
* (string, (Nat_big_num.num * Linkable_list.binding) list) Pmap.map