[all-commits] [llvm/llvm-project] 313013: [AIX] Support of Big archive (read)

diggerlin via All-commits all-commits at lists.llvm.org
Mon Jan 17 07:37:29 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3130134d6e4823b5ee7619288a4b7e1e60831a82
      https://github.com/llvm/llvm-project/commit/3130134d6e4823b5ee7619288a4b7e1e60831a82
  Author: zhijian <zhijian at ca.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  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/aix-big-archive.a
    A llvm/test/Object/archive-big-extract.test
    A llvm/test/Object/archive-big-print.test
    A llvm/test/Object/archive-big-read.test
    M llvm/test/tools/llvm-objdump/malformed-archives.test
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  [AIX] Support of Big archive (read)

Summary:

The patch is based on the EGuesnet's implement of the "Support of Big archive (read)
the first commit of the patch is come from https://reviews.llvm.org/D100651.

the rest of commits of the patch

1  Addressed the comments on the https://reviews.llvm.org/D100651
2  according to https://www.ibm.com/docs/en/aix/7.2?topic=formats-ar-file-format-big
using the "fl_fstmoff" for the first object file number, using "char ar_nxtmem[20]" to get next object file ,
using the "char fl_lstmoff[20]" for the last of the object file will fix the following problems:
   2.1 can not correct reading a archive files which has padding data between too object file
   2.2 can not correct reading a archive files from which some object file has be deleted

3 introduce a new derived class BigArchive for big ar file.

Reviewers: James Henderson
Differential Revision: https://reviews.llvm.org/D111889




More information about the All-commits mailing list