[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