[all-commits] [llvm/llvm-project] 3bdbf4: [z/OS] Add z/OS archive reading support (#187110)
Uyiosa Iyekekpolor via All-commits
all-commits at lists.llvm.org
Tue May 12 06:44:33 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3bdbf49065ee3b97606d22ba69399a1548011cb0
https://github.com/llvm/llvm-project/commit/3bdbf49065ee3b97606d22ba69399a1548011cb0
Author: Uyiosa Iyekekpolor <96444432+uyoyo0 at users.noreply.github.com>
Date: 2026-05-12 (Tue, 12 May 2026)
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/generate_zos_archive.py
A llvm/test/Object/zos-archive-read.test
Log Message:
-----------
[z/OS] Add z/OS archive reading support (#187110)
Add support for reading `z/OS` archives, which use EBCDIC-encoded header
fields and an EBCDIC magic string. The `z/OS` archive format shares the
same structural layout as traditional Unix archives but all text fields
(member names, timestamps, permissions, and symbol names) are in EBCDIC.
This patch adds:
- `K_ZOS` archive kind
- `ZOSArchiveMemberHeader`: converts EBCDIC header fields to ASCII on
read
- `ZOSArchive`: parses the __.SYMDEF symbol table, converting EBCDIC
symbol names to ASCII
- Updates to symbol table traversal for `K_ZOS`, which uses big-endian
4-byte offsets paired with 4-byte attribute words per symbol
This is part 2 of a patch series adding `z/OS` archive support to LLVM.
Part 1: #186854
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