1 | /// Verify that unnamed symbols are not added as function entry points. Such |
2 | /// symbols are used by relocations in debugging sections. |
3 | |
4 | // clang-format off |
5 | |
6 | // RUN: %clang %cflags -g -Wl,-q -o %t %s |
7 | |
8 | /// Verify that the binary indeed contains an unnamed symbol at _start |
9 | // RUN: llvm-readelf -s %t | FileCheck %s --check-prefix=CHECK-ELF |
10 | // CHECK-ELF-DAG: [[#%x,START:]] {{.*}} FUNC GLOBAL DEFAULT [[#%d,SECTION:]] _start{{$}} |
11 | // CHECK-ELF-DAG: [[#%x,START]] {{.*}} NOTYPE LOCAL DEFAULT [[#SECTION]] {{$}} |
12 | |
13 | /// Verify that BOLT did not create an extra entry point for the unnamed symbol |
14 | // RUN: llvm-bolt -o %t.bolt %t --print-cfg | FileCheck %s |
15 | // CHECK: Binary Function "_start" after building cfg { |
16 | // CHECK: IsMultiEntry: 0 |
17 | |
18 | void _start() {} |
19 | |