For exception handling, LSDA call sites have to be emitted for each fragment individually. With this patch, call sites and respective LSDA symbols are generated and associated with each fragment of their function, such that they can be used by the emitter. Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D132052
14 lines
452 B
Plaintext
14 lines
452 B
Plaintext
# Verify that C++ exceptions work after binary re-writing
|
|
|
|
REQUIRES: x86_64-linux
|
|
|
|
RUN: %clangxx -fpic -Wl,-q %S/Inputs/exception4.cpp -o %t.pic
|
|
RUN: llvm-bolt %t.pic -o %t && %t 2>&1 | FileCheck %s
|
|
RUN: llvm-bolt --relocs --use-old-text %t.pic -o %t && %t 2>&1 | FileCheck %s
|
|
RUN: llvm-bolt %t.pic -o %t --split-functions --split-strategy=all --split-eh && \
|
|
RUN: %t 2>&1 | FileCheck %s
|
|
|
|
CHECK: catch 2
|
|
CHECK-NEXT: catch 1
|
|
CHECK-NEXT: caught ExcC
|