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.
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 🔒