[all-commits] [llvm/llvm-project] c1d3cf: [Object][Archive] Support a new archive member /<E...

pzhengqc via All-commits all-commits at lists.llvm.org
Mon Jun 6 17:21:31 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c1d3cfea08f5f700174cd579ab56af1cc9d2191f
      https://github.com/llvm/llvm-project/commit/c1d3cfea08f5f700174cd579ab56af1cc9d2191f
  Author: Pengxuan Zheng <pzheng at quicinc.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M llvm/lib/Object/Archive.cpp
    A llvm/test/tools/llvm-lib/Inputs/ecsymbols.yaml
    A llvm/test/tools/llvm-lib/ecsymbols.test

  Log Message:
  -----------
  [Object][Archive] Support a new archive member /<ECSYMBOLS>/

Some libraries (e.g., arm64rt.lib) from the Windows WDK (version 10.0.22000.0)
contain an undocumented special member '/<ECSYMBOLS>/'. This causes llvm-lib to
fail with the following error:

"truncated or malformed archive (long name offset characters after the '/' are
not all decimal numbers: '<ECSYMBOLS>/' for archive member header at offset 162)"

The '/<ECSYMBOLS>/' member does not seem to be documented anywhere, but might be
related to the ARM64EC ABI Microsoft announced last year.

https://blogs.windows.com/windowsdeveloper/2021/06/28/announcing-arm64ec-building-native-and-interoperable-apps-for-windows-11-on-arm/

Reviewed By: thieta, thakis

Differential Revision: https://reviews.llvm.org/D127135




More information about the All-commits mailing list