]> git.saurik.com Git - apple/ld64.git/blobdiff - src/ld/parsers/lto_file.cpp
ld64-274.2.tar.gz
[apple/ld64.git] / src / ld / parsers / lto_file.cpp
index a5ab8217bc268d2f491ffd5775c3c8b4cda7db93..650fd4eff78727d272802604cdacda15427f4ed1 100644 (file)
@@ -1307,10 +1307,6 @@ bool Parser::optimizeThinLTO(const std::vector<File*>&              files,
                // mach-o parsing is done in-memory, but need path for debug notes
                std::string tmp_path = macho_dirpath + "/" + std::to_string(bufID) + ".o";
 
-               // parse generated mach-o file into a MachOReader
-               ld::relocatable::File* machoFile = parseMachOFile((const uint8_t *)machOFile.Buffer, machOFile.Size, tmp_path, options, ordinal);
-               ordinal = ordinal.nextFileListOrdinal();
-
                // if needed, save temp mach-o file to specific location
                if ( options.tmpObjectFilePath != NULL ) {
                        int fd = ::open(tmp_path.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0666);
@@ -1323,6 +1319,10 @@ bool Parser::optimizeThinLTO(const std::vector<File*>&              files,
                        }
                }
 
+               // parse generated mach-o file into a MachOReader
+               ld::relocatable::File* machoFile = parseMachOFile((const uint8_t *)machOFile.Buffer, machOFile.Size, tmp_path, options, ordinal);
+               ordinal = ordinal.nextFileListOrdinal();
+
                // Load the generated MachO file
                loadMachO(machoFile, options, handler, newAtoms, additionalUndefines, llvmAtoms, deadllvmAtoms);
        }