[all-commits] [llvm/llvm-project] 847fb5: [llvm-ar][GOFF] Implement symbol attributes for GO...

Amy Kwan via All-commits all-commits at lists.llvm.org
Thu Sep 10 07:38:53 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 847fb5cfde68fdea490171bc24087ebb0cd90738
      https://github.com/llvm/llvm-project/commit/847fb5cfde68fdea490171bc24087ebb0cd90738
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    A llvm/test/tools/llvm-ar/zos-symattrs.test
    M llvm/test/tools/llvm-ar/zos-write.test

  Log Message:
  -----------
  [llvm-ar][GOFF] Implement symbol attributes for GOFF archives (#214528)

z/OS archive symbol table entries contain a 32-bit attribute word
alongside each member offset.

The low three bits encode:
```
  bit 2 (0x4): 64-bit addressing (AMODE 64)
  bit 1 (0x2): XPLink calling convention
  bit 0 (0x1): Writable Static Area (WSA)
```

Previously in e2c8fa0, llvm-ar wrote zero for these attributes. This
patch reads them from GOFF ESD
records and stores them in a SymbolAttrs vector parallel to the existing
Symbols vector in MemberData
to emit the correct word per symbol.

These attributes are tested using `llvm-nm --print-armap` implemented in
#214527 within the LIT test.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list