GUESNET, ETIENNE via llvm-dev
2021-Mar-31 15:52 UTC
[llvm-dev] Support of Big archive (AIX archive)
Hello, I implement support of AIX archive (big archive / XCOFF) on LLVM. I have done a prototype available here : https://github.com/EGuesnet/llvm-project/commit/1db5ddbdfea5614d0b91a8a6a1920ac630163ec0 . This prototype replaces support of GNU/BSD/... archive by big archive, but you can switch changing the include. I have implemented only read operation (t, x, p). I want advices, especially to merge correctly support of Big archive and other archive. Main troubles to merge is big archive has a different header than other archive. Moreover, big archives have a fix length header, and one header for each object; fix and object headers are different (they are the same structure for non-big archive). Big archives have member table and symbol table at the end of the archive, so you must stop to read it before the end; the location of these table are given with absolute offset, hard to take into account in current code. Big archive documentation is here : https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/filesreference/ar_big.html . Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210331/15ea0490/attachment-0001.html>
David Blaikie via llvm-dev
2021-Apr-12 20:42 UTC
[llvm-dev] Support of Big archive (AIX archive)
+Fangrui Song +James Henderson +Jordan Rupprecht Can't say I know too much about the architecture here, but perhaps these folks have some ideas. On Thu, Apr 1, 2021 at 1:02 AM GUESNET, ETIENNE via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > Hello, > > I implement support of AIX archive (big archive / XCOFF) on LLVM. > > I have done a prototype available here : https://github.com/EGuesnet/llvm-project/commit/1db5ddbdfea5614d0b91a8a6a1920ac630163ec0 . > > This prototype replaces support of GNU/BSD/... archive by big archive, but you can switch changing the include. I have implemented only read operation (t, x, p). > > > > I want advices, especially to merge correctly support of Big archive and other archive. Main troubles to merge is big archive has a different header than other archive. > > Moreover, big archives have a fix length header, and one header for each object; fix and object headers are different (they are the same structure for non-big archive). Big archives have member table and symbol table at the end of the archive, so you must stop to read it before the end; the location of these table are given with absolute offset, hard to take into account in current code. > > > > Big archive documentation is here : https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/filesreference/ar_big.html . > > > > Thanks. > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev