This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ][z/OS] Add scripts for building libc++/abi
Needs ReviewPublic

Authored by muiez on Sep 8 2022, 12:35 PM.

Details

Reviewers
fanbo-meng
zibi
ldionne
Group Reviewers
Restricted Project
Summary

These scripts allow creating shared libc++/abi libraries on z/OS (with datasets). We need a separate script in order to build and handle multiple targets (32bit vs 64bit and ASCII vs EBCDIC). The additional targets will be added in a separate patch. z/OS also uses datasets for the libraries, and we copy the contents on install using tso commands.

Diff Detail

Event Timeline

muiez created this revision.Sep 8 2022, 12:35 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 8 2022, 12:35 PM
Herald added a subscriber: arichardson. · View Herald Transcript
muiez requested review of this revision.Sep 8 2022, 12:35 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 8 2022, 12:35 PM
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald Transcript
muiez added a comment.Sep 30 2022, 7:24 AM

Ping :) @ldionne @libcxx

muiez added a comment.Oct 11 2022, 8:35 AM

@libc++ @ldionne Any review comments? This patch is the first step for setting up the C/I for z/OS.

zibi accepted this revision.Oct 11 2022, 9:54 AM

LGTM

Mordante added inline comments.
libcxx/utils/ci/tso_copy_dataset.sh
11

Can you add a short comment what this script does?

libcxx/utils/ci/zos-install-libcxx.sh
15

For my curiosity, why do you need a special script for doing this? Some parts look like general packaging for z/OS. Did you consider to add a cmake cache for z/OS in cmake/caches?

When this really needs those script can you add some explanation why it's needed in the commit message?

muiez updated this revision to Diff 468534.Oct 18 2022, 7:29 AM
muiez edited the summary of this revision. (Show Details)

Add script description, use cache file.

muiez marked 2 inline comments as done.Oct 18 2022, 7:33 AM
muiez added inline comments.
libcxx/utils/ci/zos-install-libcxx.sh
15

We have multiple cmake caches for z/OS in cmake/caches (to handle multiple targets). I updated the revision to use them, since the patch that introduced the z/OS cache files landed recently. I added an explanation to why the scripts are needed in the description. Please let me know if further clarification is needed.

muiez updated this revision to Diff 470245.Oct 24 2022, 11:57 AM
muiez marked an inline comment as done.

Include path for unwinder headers.

muiez set the repository for this revision to rG LLVM Github Monorepo.Oct 24 2022, 11:57 AM

Ping @libcxx