|
Turnstone Operating System
|
Linker implementation for both efi and turnstone executables. More...
#include <linker.h>#include <cpu.h>#include <memory.h>#include <memory/frame.h>#include <memory/paging.h>#include <systeminfo.h>#include <logging.h>#include <strings.h>#include <efi.h>#include <list.h>Functions | |
| MODULE ("turnstone.lib.linker") | |
| int8_t | linker_link_module (linker_context_t *ctx, linker_module_t *module) |
| int8_t | linker_efi_image_relocation_entry_cmp (const void *a, const void *b) |
| int8_t | linker_efi_image_section_header_cmp (const void *a, const void *b) |
| buffer_t * | linker_build_relocation_table_buffer (linker_context_t *ctx) |
| buffer_t * | linker_build_metadata_buffer (linker_context_t *ctx) |
| int8_t | linker_destroy_context (linker_context_t *ctx) |
| int8_t | linker_build_symbols (linker_context_t *ctx, uint64_t module_id, uint64_t section_id, uint8_t section_type, uint64_t section_offset) |
| int8_t | linker_build_relocations (linker_context_t *ctx, uint64_t section_id, uint8_t section_type, uint64_t section_offset, linker_module_t *module, boolean_t recursive) |
| int8_t | linker_build_module (linker_context_t *ctx, uint64_t module_id, boolean_t recursive) |
| int8_t | linker_calculate_program_size (linker_context_t *ctx) |
| int8_t | linker_bind_linear_addresses (linker_context_t *ctx) |
| int64_t | linker_get_section_count_without_relocations (linker_context_t *ctx) |
| int8_t | linker_bind_got_entry_values (linker_context_t *ctx) |
| boolean_t | linker_is_all_symbols_resolved (linker_context_t *ctx) |
| int8_t | linker_link_program (linker_context_t *ctx) |
| buffer_t * | linker_build_efi_image_relocations (linker_context_t *ctx) |
| buffer_t * | linker_build_efi_image_section_headers_without_relocations (linker_context_t *ctx) |
| buffer_t * | linker_build_efi (linker_context_t *ctx) |
| int8_t | linker_dump_program_to_array (linker_context_t *ctx, linker_program_dump_type_t dump_type, uint8_t *array) |
| static int8_t | linker_build_metadata_buffer_null_terminator (buffer_t *metadata_buffer, uint64_t count) |
Variables | |
| const char_t *const | linker_section_type_names [LINKER_SECTION_TYPE_NR_SECTIONS] |
| linker section type names | |
| const uint8_t | linker_vmx_vm_plt0_entry_data [] |
| const uint8_t | linker_svm_vm_plt0_entry_data [] |
| const uint8_t | linker_plt_entry_data [] |
| const uint8_t | linker_program_header_trampoline_code [] |
Linker implementation for both efi and turnstone executables.
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.
| const uint8_t linker_plt_entry_data[] |
| const uint8_t linker_program_header_trampoline_code[] |
| const char_t* const linker_section_type_names[LINKER_SECTION_TYPE_NR_SECTIONS] |
linker section type names