Skip to main content

Module metadata

Module metadata 

Source
Expand description

Reading of the rustc metadata for rlibs and dylibs

StructsΒ§

DefaultMetadataLoader πŸ”’
The default metadata loader. This is used by cg_llvm and cg_clif.

EnumsΒ§

MetadataPosition πŸ”’

StaticsΒ§

AIX_METADATA_SYMBOL_NAME πŸ”’

FunctionsΒ§

add_gnu_property_note πŸ”’
create_compressed_metadata_file
create_compressed_metadata_file_for_xcoff
Xcoff - On AIX, custom sections are merged into predefined sections, so custom .rustc section is not preserved during linking. For this reason, we store metadata in predefined .info section, and define a symbol to reference the metadata. To preserve metadata during linking on AIX, we have toCreate an empty .text section, a empty .data section.Define an empty symbol named symbol_name inside .data section.Define an symbol named AIX_METADATA_SYMBOL_NAME referencing data inside .info section. From XCOFF’s view, (2) creates a csect entry in the symbol table, the symbol created by (3) is a info symbol for the preceding csect. Thus two symbols are preserved during linking and we can use the second symbol to reference the metadata.
create_metadata_file_for_wasm
Creates a simple WebAssembly object file, which is itself a wasm module, that contains a custom section of the name section_name with contents data.
create_object_file πŸ”’
create_wrapper_file πŸ”’
For rlibs we β€œpack” rustc metadata into a dummy object file.
elf_e_flags πŸ”’
elf_os_abi πŸ”’
get_metadata_xcoff πŸ”’
load_metadata_with πŸ”’
macho_is_arm64e πŸ”’
Is Apple’s CPU subtype arm64es
macho_object_build_version_for_target πŸ”’
Mach-O files contain information about:
search_for_section πŸ”’