1 | // This test checks that the data object located in text section |
2 | // is properly emitted in the new section. |
3 | |
4 | // RUN: %clang %cflags %s -o %t.exe -Wl,-q |
5 | // RUN: llvm-bolt %t.exe -o %t.bolt --lite=0 --use-old-text=0 |
6 | // RUN: llvm-objdump -j .text -d --disassemble-symbols=arr %t.bolt | \ |
7 | // RUN: FileCheck %s |
8 | |
9 | // CHECK: {{.*}} <arr>: |
10 | |
11 | extern void exit(int); |
12 | |
13 | typedef void (*FooPtr)(); |
14 | |
15 | void exitOk() { exit(0); } |
16 | |
17 | __attribute__((section(".text" ))) const FooPtr arr[] = {exitOk, 0}; |
18 | |
19 | int main() { |
20 | arr[0](); |
21 | return -1; |
22 | } |
23 | |