package linksem
Install
Dune Dependency
Authors
Maintainers
Sources
md5=2075c56715539b3b8f54ae65cc808b8c
sha512=f7c16e4036a1440a6a8d13707a43f0f9f9db0c68489215f948cc300b6a164dba5bf852e58f89503e9d9f38180ee658d9478156ca1a1ef64d6861eec5f9cf43d2
doc/linksem_zarith/Abi_amd64_relocation/index.html
Module Abi_amd64_relocation
Source
abi_amd64_relocation
contains types and definitions relating to ABI * specific relocation functionality for the AMD64 ABI.
x86-64 relocation types.
string_of_x86_64_relocation_type m
produces a string representation of the * relocation type m
.
val abi_amd64_apply_relocation :
Elf_relocation.elf64_relocation_a ->
(string, Nat_big_num.num) Pmap.map ->
Elf_file.elf64_file ->
(Uint64_wrapper.uint64, Nat_big_num.num) Abi_utilities.relocation_frame
Error.error
abi_amd64_apply_relocation rel val_map ef
* calculates the effect of a relocation of type rel
using relevant addresses, * offsets and fields represented by b_val
, g_val
, got_val
, l_val
, p_val
, * s_val
and z_val
, stored in val_map
with "B", "G", and so on as string * keys, which are: * * - B : Base address at which a shared-object has been loaded into memory * during execution. * - G : Represents the offset into the GOT at which the relocation's entry * will reside during execution. * - GOT: Address of the GOT. * - L : Represents the address or offset of the PLT entry for a symbol. * - P : Represents the address or offset of the storage unit being * relocated. * - S : Represents the value of the symbol whose index resides in the * relocation entry. * - Z : Represents the size of the symbol whose index resides in the * relocation entry. * * More details of the above can be found in the AMD64 ABI document's chapter * on relocations. * * The abi_amd64_apply_relocation
function returns a relocation frame, either * indicating that the relocation is a copy relocation, or that some calculation * must be carried out at a certain location. See the comment above the * relocation_frame
type in Abi_utilities.lem
for more details.