This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ][z/OS] Add support for an external unwinder
Needs RevisionPublic

Authored by muiez on Jun 22 2022, 8:28 AM.

Details

Reviewers
ldionne
zibi
fanbo-meng
Group Reviewers
Restricted Project
Restricted Project
Summary

The aim of this patch is to build and link an external unwinder for libc++abi. The approach is generalized as suggested in https://reviews.llvm.org/D99913#3173529.

Diff Detail

Event Timeline

muiez created this revision.Jun 22 2022, 8:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 22 2022, 8:28 AM
Herald added a subscriber: mgorny. · View Herald Transcript
muiez requested review of this revision.Jun 22 2022, 8:28 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJun 22 2022, 8:28 AM
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald Transcript
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald Transcript
muiez updated this revision to Diff 439054.Jun 22 2022, 9:20 AM

Add diff context (-U999)

muiez updated this revision to Diff 439378.Jun 23 2022, 6:40 AM
muiez set the repository for this revision to rG LLVM Github Monorepo.

kickoff CI

muiez updated this revision to Diff 439745.Jun 24 2022, 7:16 AM

kickoff CI

ldionne requested changes to this revision.Jun 27 2022, 3:04 PM

I think the idea behind this patch is interesting and useful, however I'd like to model what we do for selecting the ABI library from libc++ here. We should have a HandleUnwindLibrary.cmake file that will create interface targets, and we can then link against those from libc++abi directly. Let's avoid introducing even more options like LIBCXXABI_EXTERNAL_UNWIND_SOURCE_DIR and LIBCXXABI_EXTERNAL_UNWIND_LIB_NAME -- instead let's put the logic for how to handle z/OS's unwind library in HandleUnwindLibrary.cmake directly.

This revision now requires changes to proceed.Jun 27 2022, 3:04 PM