<div>Hi:</div><div>  Currently I'm using the following code to build an archive in my program after generating the object files that I need:</div><div><br></div><div><br></div><div>```</div><div>//Filename is the object file emitted by TargetMachine from LLVM IR</div><div>vector<NewArchiveMember> arMembers;</div><div><div>Expected<NewArchiveMember> ExpNAM = NewArchiveMember::getFile(Filename, true);</div><div>  if (!ExpNAM) {</div><div>    handleAllErrors(ExpNAM.takeError(), [&](const ErrorInfoBase &EIB) {</div><div>      errs() << "Error during reading compiled object : " << EIB.message()</div><div>             << "\n";</div><div>    });</div><div>    exit(-1);</div><div>  }</div><div>  arMembers.push_back(std::move(*ExpNAM));</div></div><div>```</div><div><br></div><div>Then another loop assembles some .S files and use the above code to read the emitted object file and push then into arMembers as well.</div><div><br></div><div><br></div><div>Finally I use ```writeArchive(ArchiveFilename, ArrayRef<NewArchiveMember>(arMembers), true,object::Archive::Kind::K_DARWIN64, true, false);``` to write the archive. No errors are reported up until this point.</div><div><br></div><div>Then I try to read the generated archive and verify it using the following code: </div><div><br></div><div>```</div><div><div>errs()<<"Verifying Archive\n";</div><div>  Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(ArchiveFilename);</div><div>  if (!BinaryOrErr) {</div><div>    handleAllErrors(BinaryOrErr.takeError(), [&](const ErrorInfoBase &EIB) {</div><div>      errs() << "Error during reading archive : "</div><div>             << EIB.message() << "\n";</div><div>    });</div><div>    exit(-1);</div><div>  }</div></div><div>```</div><div>This time I got an error message: Error during reading archive : truncated or malformed archive (terminator characters in archive member "iF" not the correct "`\n" values for the archive member header for XXXXXXXX)</div><div><br></div><div>Am I using these APIs wrong or they are simply broken. The exactly same code works perfectly fine when I emit assemblies for thumbv7 Android using <font face="Menlo"><span style="font-size: 11px;">K_GNU so I'm not sure about what to blame here. I'm currently using LLVM6 release</span></font></div><div><font face="Menlo"><span style="font-size: 11px;"><br></span></font></div><div><font face="Menlo"><span style="font-size: 11px;"><br></span></font></div><div><font face="Menlo"><span style="font-size: 11px;">Zhang</span></font></div><div><br></div><div><br></div><div><br></div><div><includetail><!--<![endif]--></includetail></div>