X-Git-Url: https://git.saurik.com/apple/ld64.git/blobdiff_plain/eaf282aaf65b222563e6b3db98e12d720fb161bf..f410558f5d60087e4c310119a1751b437121c3b9:/src/ld/parsers/lto_file.h diff --git a/src/ld/parsers/lto_file.h b/src/ld/parsers/lto_file.h index 6568232..a086548 100644 --- a/src/ld/parsers/lto_file.h +++ b/src/ld/parsers/lto_file.h @@ -31,13 +31,19 @@ namespace lto { extern const char* version(); +extern unsigned int runtime_api_version(); + +extern unsigned int static_api_version(); + extern bool libLTOisLoaded(); extern const char* archName(const uint8_t* fileContent, uint64_t fileLength); extern bool isObjectFile(const uint8_t* fileContent, uint64_t fileLength, cpu_type_t architecture, cpu_subtype_t subarch); -extern ld::relocatable::File* parse(const uint8_t* fileContent, uint64_t fileLength, +extern bool hasObjCCategory(const uint8_t* fileContent, uint64_t fileLength); + +extern ld::relocatable::File* parse(const uint8_t* fileContent, uint64_t fileLength, const char* path, time_t modTime, ld::File::Ordinal ordinal, cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles, bool verboseOptimizationHints); @@ -45,6 +51,10 @@ extern ld::relocatable::File* parse(const uint8_t* fileContent, uint64_t fileLen struct OptimizeOptions { const char* outputFilePath; const char* tmpObjectFilePath; + const char* ltoCachePath; + int ltoPruneInterval; + int ltoPruneAfter; + unsigned ltoMaxCacheSize; bool preserveAllGlobals; bool verbose; bool saveTemps; @@ -52,6 +62,7 @@ struct OptimizeOptions { bool pie; bool mainExecutable; bool staticExecutable; + bool preload; bool relocatable; bool allowTextRelocs; bool linkerDeadStripping; @@ -62,9 +73,11 @@ struct OptimizeOptions { bool simulator; bool ignoreMismatchPlatform; bool bitcodeBundle; + uint8_t maxDefaultCommonAlignment; cpu_type_t arch; const char* mcpu; Options::Platform platform; + uint32_t minOSVersion; const std::vector* llvmOptions; const std::vector* initialUndefines; };