[all-commits] [llvm/llvm-project] 85593e: [SystemZ][z/OS] Modify cxxabi to be compatible wit...

muiez via All-commits all-commits at lists.llvm.org
Tue Jun 28 11:01:41 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85593e7bb5a8bfde80aaf4eb4e15f982aebe2282
      https://github.com/llvm/llvm-project/commit/85593e7bb5a8bfde80aaf4eb4e15f982aebe2282
  Author: Muiez Ahmed <muiez at ibm.com>
  Date:   2022-06-28 (Tue, 28 Jun 2022)

  Changed paths:
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_personality.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Modify cxxabi to be compatible with existing z/OS runtime

This patch is to enable exception handling on the z/OS platform that is compatible with the existing z/OS runtime. No functionality of libcxxabi has been changed for other platforms. With this patch the hope is we can add z/OS as a platform to perform testing on any C++ ABI changes.

There is a primary difference for the z/OS implementation. On z/OS the thrown object is added to a linked list of caught and uncaught exceptions. The unwinder uses the top one as the current exception it is trying to find the landing pad for. We have to pop the top exception after we get it’s landing pad for our unwinder to correctly get any subsequent rethrows or nested exception calls.

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




More information about the All-commits mailing list