xref: /llvm-project/bolt/test/X86/symtab-secondary-entries.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1## Check that secondary entry points are updated correctly in the ELF symtab
2
3RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
4RUN:   %p/Inputs/user-order.S -o %t.o
5RUN: ld.lld %t.o --emit-relocs --nostdlib -o %t.exe
6RUN: llvm-bolt %t.exe -o %t --reorder-functions=user \
7RUN:   --function-order=%p/Inputs/order.txt
8
9RUN: llvm-readelf -Ws %t | cut -d':' -f2- | sort -u | FileCheck %s
10
11CHECK: [[#]] FUNC    GLOBAL DEFAULT   [[#NDX:]] _start
12CHECK: [[#]] FUNC    GLOBAL DEFAULT   [[#NDX]] main
13CHECK: [[#]] FUNC    LOCAL  DEFAULT   [[#NDX]] _a
14CHECK: [[#]] FUNC    GLOBAL DEFAULT   [[#NDX]] _b
15CHECK: [[#]] FUNC    GLOBAL DEFAULT   [[#NDX]] _f
16## The following are all secondary entries of _f
17CHECK:     0 FUNC    GLOBAL DEFAULT   [[#NDX]] _c
18CHECK:     0 FUNC    GLOBAL DEFAULT   [[#NDX]] _d
19CHECK:     0 FUNC    GLOBAL DEFAULT   [[#NDX]] _e
20