Module Abi_utilities

type integer_bit_width =
| I8
| I12
| U12
| Low14
| U15
| I15
| I16
| Half16ds
| I20
| Low24
| I27
| Word30
| I32
| I48
| I64
| I64X2
| U16
| U24
| U32
| U48
| U64
val natural_of_integer_bit_width : integer_bit_width -> Nat_big_num.num
type relocation_operator =
| TPRel
| LTOff
| DTPMod
| DTPRel
| Page
| GDat
| G
| GLDM
| GTPRel
| GTLSDesc
| Delta
| LDM
| TLSDesc
| Indirect
| Lo
| Hi
| Ha
| Higher
| HigherA
| Highest
| HighestA
type relocation_operator2 =
| GTLSIdx
type ('k, 'v) val_map = ('k'v) Pmap.map
val lookupM : 'a -> 'b -> ('b'v) Pmap.map -> 'v Error.error
type !'a can_fail =
| CanFail
| CanFailOnTest of 'a -> bool
| CannotFail
type !'a relocation_operator_expression =
| Lift of 'a
| Apply of relocation_operator * 'a relocation_operator_expression
| Apply2 of relocation_operator2 * 'a relocation_operator_expression * 'a relocation_operator_expression
| Plus of 'a relocation_operator_expression * 'a relocation_operator_expression
| Minus of 'a relocation_operator_expression * 'a relocation_operator_expression
| RShift of 'a relocation_operator_expression * Nat_big_num.num
type (!'addr, !'res) relocation_frame =
| Copy
| NoCopy of ('addr'res relocation_operator_expression * integer_bit_width * 'res can_fail) Pmap.map
val size_of_def : Memory_image.symbol_reference_and_reloc_site -> Nat_big_num.num
val size_of_copy_reloc : 'a -> Memory_image.symbol_reference_and_reloc_site -> Nat_big_num.num
val reloc_site_address : 'a Lem_basic_classes.ord_class -> 'b -> 'a Memory_image.annotated_memory_image -> Memory_image.symbol_reference_and_reloc_site -> Nat_big_num.num
val parse_elf64_relocation_info : Nat_big_num.num -> Nat_big_num.num * Nat_big_num.num