]> git.saurik.com Git - apple/ld64.git/blobdiff - src/ld/parsers/lto_file.h
ld64-253.9.tar.gz
[apple/ld64.git] / src / ld / parsers / lto_file.h
index 4140a3ae4bc27944c6fbb8f4a9db6d02cc33e33d..65682326fda8d772f0ffe85ea538fd7f577e75ad 100644 (file)
@@ -39,7 +39,8 @@ extern bool isObjectFile(const uint8_t* fileContent, uint64_t fileLength, cpu_ty
 
 extern ld::relocatable::File* parse(const uint8_t* fileContent, uint64_t fileLength, 
                                                                        const char* path, time_t modTime, ld::File::Ordinal ordinal,
 
 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);
+                                                                       cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles,
+                                                                       bool verboseOptimizationHints);
 
 struct OptimizeOptions {
        const char*                                                     outputFilePath;
 
 struct OptimizeOptions {
        const char*                                                     outputFilePath;
@@ -47,6 +48,7 @@ struct OptimizeOptions {
        bool                                                            preserveAllGlobals;
        bool                                                            verbose; 
        bool                                                            saveTemps; 
        bool                                                            preserveAllGlobals;
        bool                                                            verbose; 
        bool                                                            saveTemps; 
+       bool                                                            ltoCodegenOnly;
        bool                                                            pie; 
        bool                                                            mainExecutable; 
        bool                                                            staticExecutable; 
        bool                                                            pie; 
        bool                                                            mainExecutable; 
        bool                                                            staticExecutable; 
@@ -55,9 +57,16 @@ struct OptimizeOptions {
        bool                                                            linkerDeadStripping; 
        bool                                                            needsUnwindInfoSection; 
        bool                                                            keepDwarfUnwind; 
        bool                                                            linkerDeadStripping; 
        bool                                                            needsUnwindInfoSection; 
        bool                                                            keepDwarfUnwind; 
+       bool                                                            verboseOptimizationHints;
+       bool                                                            armUsesZeroCostExceptions;
+       bool                                                            simulator;
+       bool                                                            ignoreMismatchPlatform;
+       bool                                                            bitcodeBundle;
        cpu_type_t                                                      arch;
        const char*                                                     mcpu;
        cpu_type_t                                                      arch;
        const char*                                                     mcpu;
+       Options::Platform                                       platform;
        const std::vector<const char*>*         llvmOptions;
        const std::vector<const char*>*         llvmOptions;
+       const std::vector<const char*>*         initialUndefines;
 };
 
 extern bool    optimize(   const std::vector<const ld::Atom*>& allAtoms,
 };
 
 extern bool    optimize(   const std::vector<const ld::Atom*>& allAtoms,