X-Git-Url: https://git.saurik.com/apple/ld64.git/blobdiff_plain/ec29ba20dfd4abc0cb74366b39dda06af136e073..f410558f5d60087e4c310119a1751b437121c3b9:/src/ld/parsers/lto_file.h diff --git a/src/ld/parsers/lto_file.h b/src/ld/parsers/lto_file.h index 38cfcd1..a086548 100644 --- a/src/ld/parsers/lto_file.h +++ b/src/ld/parsers/lto_file.h @@ -31,12 +31,18 @@ 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 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, @@ -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; @@ -66,6 +77,7 @@ struct OptimizeOptions { cpu_type_t arch; const char* mcpu; Options::Platform platform; + uint32_t minOSVersion; const std::vector* llvmOptions; const std::vector* initialUndefines; };