]> git.saurik.com Git - apple/ld64.git/blobdiff - src/ld/parsers/lto_file.h
ld64-351.8.tar.gz
[apple/ld64.git] / src / ld / parsers / lto_file.h
index 38cfcd186f3d8cb442d2e0bc7a53648c9d7aaaea..a086548da109335baba59f284f30d3a951457cc6 100644 (file)
@@ -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<const char*>*         llvmOptions;
        const std::vector<const char*>*         initialUndefines;
 };