[PATCH] D142479: [AIX] support 64bit global symbol table for big archive
Digger Lin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 24 08:28:19 PST 2023
DiggerLin created this revision.
DiggerLin added reviewers: jhenderson, daltenty, hubert.reinterpretcast, gbreynoo, MaskRay.
Herald added a subscriber: hiraditya.
Herald added a project: All.
DiggerLin requested review of this revision.
Herald added subscribers: llvm-commits, aheejin.
Herald added a project: LLVM.
In big archive , there is 32bit global symbol table and 64 bit global symbol table. llvm-ar only support 32bit global symbol table this moment, we need to support the 64 bit global symbol table.
https://www.ibm.com/docs/en/aix/7.2?topic=formats-ar-file-format-big
Global Symbol Tables
Immediately following the member table, the archive file contains two global symbol tables. The first global symbol table locates 32-bit file members that define global symbols; the second global symbol table does the same for 64-bit file members. If the archive has no 32-bit or 64-bit file members, the respective global symbol table is omitted. The strip command can be used to delete one or both global symbol tables from the archive. The fl_gstoff field in the fixed-length header contains the offset to the 32-bit global symbol table, and the fl_gst64off contains the offset to the 64-bit global symbol table.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D142479
Files:
llvm/include/llvm/Object/Archive.h
llvm/lib/Object/Archive.cpp
llvm/lib/Object/ArchiveWriter.cpp
llvm/test/Object/bigarchive-malformed-global-symbol-table
llvm/test/Object/bigarchive-malformed-header.test
llvm/test/Object/bigarchive-symboltable.test
llvm/test/tools/llvm-ar/malformed-global-symbol-table-bigarchive.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142479.491815.patch
Type: text/x-patch
Size: 31618 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230124/907c9f41/attachment-0001.bin>
More information about the llvm-commits
mailing list