]> 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 dbb82a5aa609bd6a2967137f4f35819b22b42b4b..65682326fda8d772f0ffe85ea538fd7f577e75ad 100644 (file)
@@ -38,28 +38,39 @@ 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, 
-                                                                       const char* path, time_t modTime, uint32_t ordinal, 
-                                                                       cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles);
+                                                                       const char* path, time_t modTime, ld::File::Ordinal ordinal,
+                                                                       cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles,
+                                                                       bool verboseOptimizationHints);
 
 struct OptimizeOptions {
        const char*                                                     outputFilePath;
        const char*                                                     tmpObjectFilePath;
-       bool                                                            allGlobalsAReDeadStripRoots;
+       bool                                                            preserveAllGlobals;
        bool                                                            verbose; 
        bool                                                            saveTemps; 
+       bool                                                            ltoCodegenOnly;
        bool                                                            pie; 
        bool                                                            mainExecutable; 
        bool                                                            staticExecutable; 
        bool                                                            relocatable;
        bool                                                            allowTextRelocs; 
        bool                                                            linkerDeadStripping; 
+       bool                                                            needsUnwindInfoSection; 
+       bool                                                            keepDwarfUnwind; 
+       bool                                                            verboseOptimizationHints;
+       bool                                                            armUsesZeroCostExceptions;
+       bool                                                            simulator;
+       bool                                                            ignoreMismatchPlatform;
+       bool                                                            bitcodeBundle;
        cpu_type_t                                                      arch;
+       const char*                                                     mcpu;
+       Options::Platform                                       platform;
        const std::vector<const char*>*         llvmOptions;
+       const std::vector<const char*>*         initialUndefines;
 };
 
 extern bool    optimize(   const std::vector<const ld::Atom*>& allAtoms,
                                                ld::Internal&                                           state,
-                                               uint32_t                                                        nextInputOrdinal, 
                                                const OptimizeOptions&                          options,
                                                ld::File::AtomHandler&                          handler,
                                                std::vector<const ld::Atom*>&           newAtoms,