xref: /llvm-project/llvm/test/MC/ELF/addrsig.s (revision d8162a7196b3916d3bb51b2597c9e417e4132150)
13e227336SPeter Collingbourne// RUN: llvm-mc -filetype=asm -triple x86_64-pc-linux-gnu %s -o - | FileCheck --check-prefix=ASM %s
2b36a3e61SElvina Yakubova// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols --sd --addrsig - | FileCheck %s
3b36a3e61SElvina Yakubova// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -split-dwarf-file %t.dwo -o - | llvm-readobj -S --symbols --sd --addrsig - | FileCheck %s
4e29e30b1SFangrui Song// RUN: llvm-readobj -S %t.dwo | FileCheck --check-prefix=DWO %s
53e227336SPeter Collingbourne
63e227336SPeter Collingbourne// CHECK:        Name: .llvm_addrsig
73e227336SPeter Collingbourne// CHECK-NEXT:   Type: SHT_LLVM_ADDRSIG (0x6FFF4C03)
83e227336SPeter Collingbourne// CHECK-NEXT:   Flags [ (0x80000000)
93e227336SPeter Collingbourne// CHECK-NEXT:     SHF_EXCLUDE (0x80000000)
103e227336SPeter Collingbourne// CHECK-NEXT:   ]
113e227336SPeter Collingbourne// CHECK-NEXT:   Address:
123e227336SPeter Collingbourne// CHECK-NEXT:   Offset:
133e227336SPeter Collingbourne// CHECK-NEXT:   Size: 4
143e227336SPeter Collingbourne// CHECK-NEXT:   Link: 4
153e227336SPeter Collingbourne// CHECK-NEXT:   Info: 0
163e227336SPeter Collingbourne// CHECK-NEXT:   AddressAlignment: 1
173e227336SPeter Collingbourne// CHECK-NEXT:   EntrySize: 0
183e227336SPeter Collingbourne// CHECK-NEXT:   SectionData (
19980d28d9SFangrui Song// CHECK-NEXT:     0000: 03050201
203e227336SPeter Collingbourne// CHECK-NEXT:   )
213e227336SPeter Collingbourne// CHECK-NEXT: }
223e227336SPeter Collingbourne// CHECK-NEXT: Section {
233e227336SPeter Collingbourne// CHECK-NEXT:   Index: 4
243e227336SPeter Collingbourne// CHECK-NEXT:   Name: .symtab
253e227336SPeter Collingbourne
26980d28d9SFangrui Song// CHECK:      Symbol {
27980d28d9SFangrui Song// CHECK:      Symbol {
28980d28d9SFangrui Song// CHECK-NEXT:   Name:
293e227336SPeter Collingbourne// CHECK-NEXT:   Value:
303e227336SPeter Collingbourne// CHECK-NEXT:   Size:
313e227336SPeter Collingbourne// CHECK-NEXT:   Binding:
323e227336SPeter Collingbourne// CHECK-NEXT:   Type:
333e227336SPeter Collingbourne// CHECK-NEXT:   Other:
3469dd7cd4SPeter Collingbourne// CHECK-NEXT:   Section: [[SEC:.*]]
353e227336SPeter Collingbourne// CHECK-NEXT: }
363e227336SPeter Collingbourne// CHECK-NEXT: Symbol {
37980d28d9SFangrui Song// CHECK-NEXT:   Name: local
383e227336SPeter Collingbourne// CHECK-NEXT:   Value:
393e227336SPeter Collingbourne// CHECK-NEXT:   Size:
403e227336SPeter Collingbourne// CHECK-NEXT:   Binding:
413e227336SPeter Collingbourne// CHECK-NEXT:   Type:
423e227336SPeter Collingbourne// CHECK-NEXT:   Other:
4369dd7cd4SPeter Collingbourne// CHECK-NEXT:   Section: [[SEC]]
443e227336SPeter Collingbourne// CHECK-NEXT: }
453e227336SPeter Collingbourne// CHECK-NEXT: Symbol {
463e227336SPeter Collingbourne// CHECK-NEXT:   Name: g1
473e227336SPeter Collingbourne// CHECK-NEXT:   Value:
483e227336SPeter Collingbourne// CHECK-NEXT:   Size:
493e227336SPeter Collingbourne// CHECK-NEXT:   Binding:
503e227336SPeter Collingbourne// CHECK-NEXT:   Type:
513e227336SPeter Collingbourne// CHECK-NEXT:   Other:
523e227336SPeter Collingbourne// CHECK-NEXT:   Section:
533e227336SPeter Collingbourne// CHECK-NEXT: }
543e227336SPeter Collingbourne// CHECK-NEXT: Symbol {
553e227336SPeter Collingbourne// CHECK-NEXT:   Name: g2
563e227336SPeter Collingbourne// CHECK-NEXT:   Value:
573e227336SPeter Collingbourne// CHECK-NEXT:   Size:
583e227336SPeter Collingbourne// CHECK-NEXT:   Binding:
593e227336SPeter Collingbourne// CHECK-NEXT:   Type:
603e227336SPeter Collingbourne// CHECK-NEXT:   Other:
613e227336SPeter Collingbourne// CHECK-NEXT:   Section:
623e227336SPeter Collingbourne// CHECK-NEXT: }
633e227336SPeter Collingbourne// CHECK-NEXT: Symbol {
643e227336SPeter Collingbourne// CHECK-NEXT:   Name: g3
65*d8162a71SFangrui Song// CHECK-NOT:  Symbol {
663e227336SPeter Collingbourne
673e227336SPeter Collingbourne// CHECK:      Addrsig [
683e227336SPeter Collingbourne// CHECK-NEXT:   Sym: g1 (3)
693e227336SPeter Collingbourne// CHECK-NEXT:   Sym: g3 (5)
70980d28d9SFangrui Song// CHECK-NEXT:   Sym: local (2)
71980d28d9SFangrui Song// CHECK-NEXT:   Sym:  (1)
723e227336SPeter Collingbourne// CHECK-NEXT: ]
733e227336SPeter Collingbourne
74*d8162a71SFangrui Song.globl g1
75*d8162a71SFangrui Song
763e227336SPeter Collingbourne// ASM:      .addrsig
77e5eb3e38SFangrui Song// ASM-NEXT: .addrsig_sym g1
783e227336SPeter Collingbourne.addrsig
793e227336SPeter Collingbourne.addrsig_sym g1
803e227336SPeter Collingbourne.globl g2
813e227336SPeter Collingbourne// ASM:      .addrsig_sym g3
82e5eb3e38SFangrui Song// ASM-NEXT: .addrsig_sym local
83e5eb3e38SFangrui Song// ASM-NEXT: .addrsig_sym .Llocal
84*d8162a71SFangrui Song// ASM-NEXT: .addrsig_sym .Lunseen
85*d8162a71SFangrui Song// ASM-NEXT: .addrsig_sym unseen
863e227336SPeter Collingbourne.addrsig_sym g3
873e227336SPeter Collingbourne.addrsig_sym local
883e227336SPeter Collingbourne.addrsig_sym .Llocal
89*d8162a71SFangrui Song.addrsig_sym .Lunseen
90*d8162a71SFangrui Song.addrsig_sym unseen
913e227336SPeter Collingbourne
923e227336SPeter Collingbournelocal:
933e227336SPeter Collingbourne.Llocal:
943e227336SPeter Collingbourne
95*d8162a71SFangrui Song.globl g3
96*d8162a71SFangrui Song
973e227336SPeter Collingbourne// DWO-NOT: .llvm_addrsig
98