|  | // Verify that PLT optimization in BOLT preserves exception-handling info. | 
|  |  | 
|  | // REQUIRES: system-linux | 
|  |  | 
|  | // RUN: %clang %cflags -fpic -shared -xc /dev/null -o %t.so | 
|  | // Link against a DSO to ensure PLT entries. | 
|  | // RUN: %clangxx %cxxflags -O1 -Wl,-q,-znow %s %t.so -o %t.exe | 
|  | // RUN: llvm-bolt %t.exe -o %t.bolt.exe --plt=all --print-only=.*main.* \ | 
|  | // RUN:   --print-finalized 2>&1 | FileCheck %s | 
|  |  | 
|  | // CHECK-LABEL: Binary Function | 
|  | // CHECK:      adrp {{.*}}__cxa_throw | 
|  | // CHECK-NEXT: ldr {{.*}}__cxa_throw | 
|  | // CHECK-NEXT: blr x17 {{.*}} handler: {{.*}} PLTCall: | 
|  |  | 
|  | int main() { | 
|  | try { | 
|  | throw new int; | 
|  | } catch (...) { | 
|  | return 0; | 
|  | } | 
|  | return 1; | 
|  | } |