summaryrefslogtreecommitdiff
path: root/bolt/test/X86/section-end-sym.s
blob: cf1723c2563ae366bf5393b1bbbc789ea6338e2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
## Check that BOLT doesn't consider end-of-section symbols (e.g., _etext) as
## functions.

# REQUIRES: x86_64-linux, asserts

# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux %s -o %t.o
# RUN: ld.lld %t.o -o %t.exe -q
# RUN: llvm-bolt %t.exe -o /dev/null --print-cfg --debug-only=bolt 2>&1 \
# RUN:   | FileCheck %s

# CHECK: considering symbol etext for function
# CHECK-NEXT: rejecting as symbol points to end of its section
# CHECK-NOT: Binary Function "etext{{.*}}" after building cfg


  .text
  .globl _start
  .type _start,@function
_start:
  retq
  .size _start, .-_start

  .align 0x1000
  .globl etext
etext:

  .data
.Lfoo:
  .word 0