[all-commits] [llvm/llvm-project] 38d3c6: [AIX] support 64bit global symbol table for big ar...

diggerlin via All-commits all-commits at lists.llvm.org
Thu May 18 07:55:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 38d3c6cb9b9dc67a8a5460aa241824be3240b81e
      https://github.com/llvm/llvm-project/commit/38d3c6cb9b9dc67a8a5460aa241824be3240b81e
  Author: zhijian <zhijian at ca.ibm.com>
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    A llvm/test/Object/Inputs/bitcode-sym32.ll
    A llvm/test/Object/Inputs/bitcode-sym64.ll
    A llvm/test/Object/bigarchive-malformed-global-symbol-table
    A llvm/test/Object/bigarchive-malformed-header.test
    A llvm/test/Object/bigarchive-symboltable.test
    R llvm/test/tools/llvm-ar/malformed-global-symbol-table-bigarchive.test

  Log Message:
  -----------
  [AIX] support 64bit global symbol table for big archive

Summary:

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.

Reviewers: James Henderson,Stephen Peckham
Differential Revision: https://reviews.llvm.org/D142479




More information about the All-commits mailing list