Module rustc_codegen_ssa::back::metadata
source · Expand description
Reading of the rustc metadata for rlibs and dylibs
Structs
- The default metadata loader. This is used by cg_llvm and cg_clif.
Enums
Statics
Functions
- 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 namedAIX_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. - For rlibs we “pack” rustc metadata into a dummy object file.
- Since Xcode 15 Apple’s LD requires object files to contain information about what they were built for (LC_BUILD_VERSION): the platform (macOS/watchOS etc), minimum OS version, and SDK version. This returns a
MachOBuildVersion
for the target.